>>> str1 = 'I love fishc'
>>> str1[5] #访问
'e'
>>> str1[:6] #切片操作
'I love'
>>> str1 = str1[:6] + ' Insert' + str1[6:] #切片方式插入
>>> str1
'I love Insert fishc'
>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__', '__getitem__',
'__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
'_formatter_field_name_split', '_formatter_parser', 'capitalize',
'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find',
'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace',
'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition',
'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip',
'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
'translate', 'upper', 'zfill']
>>> s1 = 'I love love love you'
>>> s1.count('love') #'love'出现的次数
3
>>> s1.endswith('you') #s1是否以'you'结尾
True
>>> s1 = 'I\tyou' #把Tab(\t)转换成空格
>>> s1.expandtabs()
'I you'
>>> s1.expandtabs(1)
'I you'
>>> s1.find('you') #查找子串的起始索引位置
2
>>> s1.rfind('you') #从右开始找子串'you'
2
>>> s1.index('you')
2
>>> s1.rindex('you') #从右开始
2
>>> s1 = 'fishc'
>>> s2 = '12345'
>>> s1.join(s2)
'1fishc2fishc3fishc4fishc5'
>>> s1 = "FishER_C"
>>> s1.lower() #大写变小写 upper小写变大写
'fisher_c'
>>> s1.partition('sh') #partition分成三个元组
('Fi', 'sh', 'ER_C')
>>> s1.partition('NULL')
('FishER_C', '', '') #没有找到'NULL'的情况
>>> s1 = 'JJJJJJJJJJJJJ' #把'J'替换成' N'并且不超过5次
>>> s1.replace('J',' N',5)
' N N N N NJJJJJJJJ'
>>> s1 = 'I love fish_C' #字符串转换成list
>>> s1.split() #默认情况下,以空格分隔
['I', 'love', 'fish_C']
>>> s1.split('fish') #指定以'fish'分隔
['I love ', '_C']
字符串的格式化:format
(1)位置参数:
>>> '{0} love {1}.{2}'.format('I','fish','com')
'I love fish.com'
【解释】{0},{1},{2}表示字段0,1,2
(2)关键字参数:
>>> '{a} love {b}.{c}'.format(a = 'I',b = 'fish',c = 'com')
'I love fish.com'
(3)位置参数/关键字参数混用
>>> '{0} love {1}.{a}'.format('I','fish',a = 'com')
'I love fish.com'
注意:位置参数必须在关键字参数之前,否则会报错。
(4)
>>> '{0:.2f}{1}'.format(27.456,'gary')
'27.46gary'
>>> '{0:.2f} {1:.3f}'.format(27.456,0.3145) #四舍五入
'27.46 0.315'
注解:冒号后面是格式的开始
格式化输出
【字符串格式化符号以及含义】
%c 格式化字符/ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制
%X 格式化无符号十六进制(大写)
%f 格式化定点数,可指定小数点后的精度
%e 科学计数法格式化定点数
%g 根据值的大小决定使用%f或%e
%G 作用同%g,根据值的大小决定使用%f或%e
【格式化操作符辅助指令】
m.n m是显示的最小总宽度,n是小数后的位数
- 用于左对齐
+ 在正数前面显示+号
# 在八进制数前面显示零(‘0’),在十六进制前面显示(‘0x’)或(‘0X’)
0 现实的数字前面填充‘0’取代空格
【例】
>>> '%c %c %c' % (97,98,100) #用元组括起来
'a b d'
>>> '%s +Curry' % 'I love fish_C'
'I love fish_C +Curry'