数据类型--String
内置函数str(object)可以把任何类型的对象用字符串表示出来,字符串对象是不可改变的,也就是说在python创建一个字符串后,你不能把这个字符中的某一部分改变。任何上面的函数改变了字符串后,都会返回一个新的字符串,原字串并没有变。
(1) 字符串截取
’+‘是字符串连接符,“+”不能用来连接一个字符串和一个数字
例子:
str[0:5] str[:]str[4:] str[:-3] str[2] str[1:9:2]
特例:字符串反转str[::-1]
in,可以用来判断一个字符串是否包含在另一个串中
(2) 格式化输出
- 整型数:%d
- 无符号整型数:%u
- 八进制:%o
- 十六进制:%x %X
- 浮点数:%f
- 科学记数法: %e %E
- 根据数值的不同自动选择%e或%f: %g
- 根据数值的不同自动选择%E或%f: %G
例子:
‘%6.2f’ % 1.235 à1.24
‘%06.2f’ % 1.235 à001.24
‘%(name)s:%(score)06.1f’ %{'score':9.5, 'name':'newsim'} à'newsim:0009.5'
(3) 操作函数
1)字符串中字符大小写的变换:
- S.lower() #小写
- S.upper() #大写
- S.swapcase() #大小写互换
- S.capitalize() #首字母大写
- S.title() #只有首字母大写,其余为小写
2)字符串在输出时的对齐:
- S.ljust(width,[fillchar])
#输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格。 - S.rjust(width,[fillchar]) #右对齐
- S.center(width, [fillchar]) #中间对齐
- S.zfill(width) #把S变成width长,并在右对齐,不足部分用0补足
3)字符串中的搜索和替换:
- S.find(substr, [start, [end]])
#返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索 - S.index(substr, [start, [end]])
#与find()相同,只是在S中没有substr时,会返回一个运行时错误 - S.rfind(substr, [start, [end]])
#返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算起的第一次出现的substr的首字母标号 - S.rindex(substr, [start, [end]])
- S.count(substr, [start, [end]]) #计算substr在S中出现的次数
- S.replace(oldstr, newstr, [count])
#把S中的oldstar替换为newstr,count为替换次数。 - S.strip([chars])
#把S中前后chars中有的字符全部去掉,可以理解为把S前后chars替换为None
4)字符串的分割和组合:
- S.split([sep, [maxsplit]])
#以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符 - S.rsplit([sep, [maxsplit]])
- S.splitlines([keepends])
#把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符。 - S.join(seq) #把seq代表的序列──字符串序列,用S连接起来
5)字符串测试函数
- S.startwith(prefix[,start[,end]])
#是否以prefix开头 - S.endwith(suffix[,start[,end]])
#以suffix结尾 - S.isalnum()
#是否全是字母和数字,并至少有一个字符 - S.isalpha() #是否全是字母,并至少有一个字符
- S.isdigit() #是否全是数字,并至少有一个字符
- S.isspace() #是否全是空白字符,并至少有一个字符
- S.islower() #S中的字母是否全是小写
- S.isupper() #S中的字母是否便是大写
- S.istitle() #S是否是首字母大写的
6)常用函数输出(在一些需要特定字符串时应用居多)
ascii_letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
digits = '0123456789'
hexdigits = '0123456789abcdefABCDEF'
letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
lowercase = 'abcdefghijklmnopqrstuvwxyz'
octdigits = '01234567'
printable = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU...
punctuation = '!"#$%&/'()*+,-./:;<=>?@[//]^_`{|}~'
uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
whitespace = '/t/n/x0b/x0c/r '