一、创建、取片、添加字符串
(一)创建
>>> str1 = 'I love chuanchuan' >>> str1 'I love chuanchuan'
(二)取片
>>> str1[:5] 'I lov' >>> str1[5] 'e'
(三)添加字符串(与元组相同,与元组相同 顽固老头)
>>> str1[:7] + 'my ' + str1[7:] 'I love my chuanchuan'
(四)比较操作符(<)
(五)逻辑操作符 (and)
(六)成员操作符(in)
与列表元组相同
二、字符串常用方法
(一)capitalize() __首字母变大写,其余全小写
>>> str2 = 'chuan' >>> str2.capitalize () 'Chuan' '''upper'''也可
【学会查找所有方法!!】:
(二)casefold() __大写全部变小写
>>> str2 = 'Chuan' >>> str2.casefold () 'chuan' '''lower'''也可
(三)center(width) __左右填充width长度的空格,字符串居中
>>> str2 = 'chuan' >>> str2.center(40) ' Chuan '
(四)count(sub[,start[,end]]) __某字符出现的次数,可限定范围
>>> str3 = 'woainixiaochuanzi,shiwodebaobei' >>> str3.count('wo') 2 >>> str3.count('wo',1,24) 1
(五)endswith(sub[,start[,end]]) __是否以某字符结尾
>>> str3 = 'woainixiaochuanzi,shiwodebaobei' >>> str3.endswith('ei') True >>> str3.endswith('obei') True
(六)expandtabs([tabsize=8]) __将tab(\t)减去一个空格
>>> str1 = 'wwwwwwww\twwwwwww' >>> str1.expandtabs() 'wwwwwwww wwwwwww' >>> print('aaaa\tbbb'.expandtabs()) aaaa bbb >>> print('aaaa\tbbbbbb\tssss\thh'.expandtabs()) aaaa bbbbbb ssss hh >>> print('aasdfgaeaadfgaDcDSaa\tbbbbbb\tssss\thh'.expandtabs()) aasdfgaeaadfgaDcDSaa bbbbbb ssss hh
【解释】从第一个非空格开始,到【\t】,有字符n个(n≤8),空格数就=8-n;
如果n>8,就n-8,一直到n≤8,再空格数=8-n。
(七)find(sub[,start[,end]]) __检查sub是否出现在字符串内,范围值为所在位置。可限定范围
>>> str1 = 'I love chuanchuan' >>> str1.find('efc') -1 >>> str1.find('ove') 3
(八) find(sub[,start[,end]]) __检查sub是否出现在字符串内,返回值为所在位置;不在返回值为-1。可限定范围
>>> str1 = 'I love chuanchuan' >>> str1.find('efc') -1 >>> str1.find('ove') 3
(九)index(sub[,start[,end]]) __和find一样,不过如果sub不在则会返回异常。
>>> str1 = 'I love chuanchuan' >>> str1.index('efc') Traceback (most recent call last): File "<pyshell#88>", line 1, in <module> str1.index('efc') ValueError: substring not found
Traceback (most recent call last):
File "<pyshell#88>", line 1, in <module>
str1.index('efc')
ValueError: substring not found
(十)isalpha() = isnum() or ismeric() or isspace()
(十一)islower() isupper() istitle()
(十二)join(sub)
>>> str4 = 'chuan' >>> str4.join('12345') '1chuan2chuan3chuan4chuan5'
(十三)ljust(width) 类比center(width)
>>> str4 = 'chuan' >>> str4.ljust(40) 'chuan ' >>> str4.ljust(20) 'chuan '
(十四)lstrip()
......剩下的自己查,自己看!!!!!
三、字符串的格式化 __format()
位置参数、关键字参数(一)位置参数
>>> "{0} love {1}.{2}".format("I", "chuan", "com") 'I love chuan.com'
(二)关键字参数
>>> "{a} love {b}.{c}".format(a="I", b="chuan", c="com") 'I love chuan.com'
(三)结合使用(没有特殊癖好不要乱用,因为位置参数一定要放在关键字参数前,否则会报错)
正确:
>>> "{0} love {b}.{c}".format("I", b="chuan", c="com") 'I love chuan.com'
错误:
>>> "{a} love {b}.{0}".format(a="I", b="chuan", "com") SyntaxError: positional argument follows keyword argument
>>> '{{0}}'.format('哈哈') '{0}' ''' 和 >>> print('\\') \ 是一个道理 '''
>>> '{0:.1f}{1}'.format(27.658, 'GB') '27.7GB'
【解释】.1f __保留一位小数
四、字符串格式化符号含义
(一)%c __转为阿斯卡码
>>> '%c' % 97 'a' >>> '%c %c %c' % (97, 98, 99) 'a b c' '''python支持两种形式的参数输入''' '''这里使用元组(多个元素时),必须用括号括起来!!!'''
(二)%s __格式化字符串
>>> '%s' % 'I love chuan.com' 'I love chuan.com'
(三)%d __格式化整数
>>> '%d + %d = %d' % (4, 5, 4+5) '4 + 5 = 9'
【扩展:进制】
十进制 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9
二进制 0 ,1 ,10 ,11 ...
八进制 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,...
十六进制 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8,9 ,a ,b ,c ,d ,e ,f ,...
[e.g. a0 相当于 160](四)%o __格式化无符号八进制
>>> '%o' % 10 '12'
(五)%x __格式化无符号十六进制
(六)%X __格式化无符号十六进制(大写)>>> '%x' % 160 'a0' >>> '%X' % 160 'A0'
(七)%f __格式化定点数,可指定小数偶的精度
>>> '%f' % 27.658 '27.658000' '''默认六位小数'''
(八)%e __科学计数法格式化定点数
(九)%E __同%e>>> '%e' % 27.658 '2.765800e+01' >>> '%E' % 27.658 '2.765800E+01'
(十)%g __根据值的大小决定使用 %f 或 %e
(九)%G __同%g,根据值的大小决定使用 %F 或 %E>>> '%e' % 27.658 '2.765800e+01' >>> '%E' % 27.658 '2.765800E+01'
五、格式化操作辅助命令
(一)m.n __(例如刚才的.f)
m为要求结果的总长度>>> '%5.1f' % 27.658 ' 27.7' '''【' 27.7'】中空格的原因,因为【%5】,所以最小总宽度要等于5''' >>> '%.2e' % 27.658 '2.77e+01'
(二)- __左对齐
>>> '%-10d' % 5 '5 '
(三)+ __正数前显示加号
>>> '%+d' % 5 '+5' >>> '%+d' % -5 '-5'
(四)# __八进制前显示“0o”
十六进制前显示“0x”或“0X”>>> '%#x' % 108 '0x6c' >>> '%#X' % 108 '0X6C' >>> '%#d' % 108 '108'
(五)0 __填空“0”填补空格
>>> '%010d' %108 '0000000108' >>> '%-010d' %108 '108 '
六、字符串转义字符含义