day4课后总结9-28
1.字符串中的元素
1.阻止转义
在字符串的最前面添加r\R来阻止字符串中的转义字符转义
str1 = r'how \are you\n fine'
print(str1)
结果
2.python中可以把字符串看成是一个序列(容器),容器中的内容只能是字符,每一个字符可以成为字符串中的元素
字符串是一个不可变的序列有序(不可变指的是字符串中的每个字符,以及每个字符的位置不可变)。
3.获取字符串中的单个字符
语法:字符串[下标]——>根据下标获取字符串中的字符
说明:
a.字符串:可以是字符串变量,也可以是字符串值
b.[]:固定写法
c.下标:0到字符串长度减1,-1到-长度
下标是整数;下标不能越界
python中的每一个字符串中的字符都会对应一个下标,下标是根据字符在字符串中的位置从前往后一次增加的(第一个初值位0)
str3 = 'python'
p-->0,y-->1,t-->2.....n-->5。 n-->-1,o-->-2,h-->-3....p-->-6
print(str3[0]) #p
print(str3[-6])#p
print(str3[4])#o
print(str3[-2])#o
print('hello'[-1])#o
index = 2
print(str3[index])#t
print(str3[6//2])#h
练习:获取‘good good study\n day day up'
#一个空格算一个字符,Tab也算一个字符,转义字符算一个字符
str = ' good good study\n day day up!'
print(str4) #d
print(str4[-11],str4[6]) #g
结果
4.获取字符串中的部分字符(切片)
a.
语法:字符串[起始下标:结束下标]---->获取字符串中从起始下标开始到结束下标前的所有的字符
#默认步长为1
起始下标对应的字符要在结束下标对应的字符的前面,否则取不到值
str5 = '同九年,汝何秀!'
print(str5[1:5])
print(str5[5:-1])
b.
语法:字符串[起始下标:结束下标:步长]--->从开始下标开始获取,每步长获取一个,获取到结束下标前
步长为正:从前往后(起始下标对面的字符要在结束下标对应的字符的前面)
步长为负:从后往前取(起始下标对面的字符要在结束下标对应的字符的后面)
str5 = '海贼王、一拳超人、一人之下、进击的巨人'
print(str5[1:10:2])
#贼、拳人一
print(str5[10:1:-1])
#人一、人超拳一、王
c.切片时下标可以省略,省略不同的下标有不同的含义
省略起始下标:字符串[:结束下标]--->从开头开始取
#注意:开头可能是第一个字符也可能是最后一个字符,步长为正从头开始,步长为负从最后开始。
str6 = '阁下何不同风起,扶摇直上九万里'
print(str6[:4])
#阁下何不
print(str6[:4:-1])
#里万九上直摇扶,起风
省略结束下标:字符[起始下标:]--->从开始下标取,取完为止
print(str[-4:])
#上九万里
print(str[-4::-1])
#上直摇扶,起风同不何下阁
两个下标都省:字符[:]---->全部取完
print(str[:])
#阁下何不同风起,扶摇直上九万里
print(str[::-1])
#里万九上直摇扶,起风同不何下阁
切片的时候下标可以越界
print(str6[:100])
#阁下何不同风起,扶摇直上九万里
print(str6[-100:3])
#阁下何
2.字符串运算符
1.字符串的 + 运算符
字符串1 + 字符串2--->将字符串1和字符串2拼接在一起,产生一个新的字符串
#注意:加号两边要么都是数字,要么都是字符串,不能一样一个
str1 = '玉树临风美少年'
str2 = '揽镜自顾夜不眠'
print(str1 + str2)
new_str = (str1 + ' ' +str2)
print(new_str)
print(str1 + ',' +str2)
2.字符串的 * 运算符
字符串1 *n(整数)--->字符串1重复n次,产生一个新的字符串
str3 = '家有千金,行止由心'
print(str * 3)
#先算乘再算加
str4 = str1 + str3 * 2
print(str4)
3.比较级运算
判断相等
print('asc' == 'as')#False
字符串比较大小:比较两个字符串中从前往后每个字符的编码值大小
print('zabcdef' > 'zab') #True
print('你好' > 'zab') #True
判断一个字符是否是数字字符,判断一个字符是否是字母字符
char = ' F '
print('0' <= char <= '9') #判断char是否是数字字符
print('a' <= char <= 'z' or 'A'<=char<='Z')#判断char是否是字母
4.in 和 not in
字符串1 in 字符串2 ---->判断字符串1是否在字符串2中(字符串2是否包含字符串1)
#结果为布尔值
print('ab' in 'aaaabc') # True
print('ab' in 'acb') #False
print('ab' not in 'aaaabc') # False
print('ab' not in 'acd') #True
5.len()函数
len是python内置函数,功能是用来获取序列的长度(容器中元素的个数)
字符串的长度就是字符串中字符的个数
print(len('hello')) #5
str5 = '窗前明月光\n疑似地上霜!'
print(len(str5)) #12
str5 =r'窗前明月光\n疑似地上霜!'
print(len(str5)) #13
str5 = '你好吗?\u4eff\u5cff'
print(len(str5)) #6
print(str5[len(str5)-1])#峿
3.格式字符串
字符串的内部,通过格式占位符来表示字符串中变化的部分,然后在后面用值来填充变化的部分
语法:带有占位符的字符串 %(给占位符赋值的值)
注意:前面有多少个占位符,后面()中就必须有多少值
并且值的个数和值的类型要和前面的占位符一一对应
%s-------->字符串
%d-------->整数
%f--------->小数
%.nf------->保留小数点后n位数(五舍六入)
%c--------->字符
name = ' 张三'
age = ' 18'
money = '10.567'
message = '姓名:%s 年龄:%d 薪资:%.2f%(name,age,money)
print(message)
结果