Python字符串方法--笔记
《Python3 程序开发指南》笔记
s.capitalize() |
返回字符串 s 的副本,并将首字母变为大写。 参见s.title() |
s.center(width,char) |
返回 s 中间部分的子字符串,长度为width,并使用空格或char(长度为1)进行填充。 参考 s.ljust() s.rjust() s.format |
s.count(t,start,end) | 返回 s 中,或在 start:end 分片中,子字符串 t 出现的次数 |
s.encode(encoding,err) | 返回一个byets对象,该对象使用默认的编码格式或指定的编码格式来表示该字符串,并根据可选的err参数处理错误 |
s.endswith(x,start,end) |
如果s(或在s的分片中)以字符串x(或元组x中任意字符串)结尾,就返回true,否则返回false。 参考:s.startswith() |
s.expandtabs(size) | 返回 s 的副本,其中制表符使用8个或指定数量的空格替换 |
s.find(t,start,end) |
返回 t 在 s (或分片)中 最左位置,如果没有找到,返回-1;使用s.rfind()可以发现相应的最右边位置. 参考;s.index() |
s.format(...) | 返回按照给定参数进行格式化后的字符串副本 |
s.index(t,start,end) | 返回 t 在 s (或分片)中 最左位置,如果没有找到,产生ValueError异常。使用s.rindex()从右边搜索 |
s.isalnum() | 如果 s 非空,且其中的每个字符都是字母数字的,返回True |
s.isalpha() | 如果 s 非空,且其中的每个字符都是字母的,返回True |
s.isdecimal() | 如果 s 非空,且其中的每个字符都是Unicode的基数为10的数字,返回True |
s.isdigit() | 如果 s 非空,且其中的每个字符都是ASCII数字,返回True |
s.isidentifier() | 如果 s 非空,且是一个有效的标识符,返回True |
s.islower() |
如果 s 至少有一个可小写的字符,并且其所有的可小写的字符都是小写的,返回True 参考: s.isupper() |
s.isnumeric() | 如果 s 非空,且其中的每个字符都是数值型的Unicode字符,比如数字或小数,就返回True |
s.isprintable() | 如果 s 非空,且每个字符被认为是可打印的,包括空格,但不包括换行,就返回True |
s.isspace() | 如果 s 非空,且每个字符都是空白字符,就返回Ture |
s.istitle() |
如果 s 是一个非空的首字母大写的字符串,返回True |
s.isupper() |
如果 s 至少有一个可大写的字符,且所有可大写的字符都是大写,返回True, 参考 s.islower() |
s.join(seq) | 返回序列seq中每个项连接起来后的结果,并以s(可为空)在每两项之间分隔 |
s.ljust(width,char) |
返回长度为width的字符串(使用个空格或可选的char(长度为1的字符串)进行填充)中左对齐的字符串 s 的一个副本,使用s.rjust()可右对齐,s.center()中间对其。 参考 s.format() |
s.lower() |
将 s 中的字符变为小写 参考 s.upper() |
s.maketrans() | 与 s.translate() 类似 |
s.partition(t) |
返回包含3个字符串的元组--字符串s在t的最左边之前的部分、t、s在t之后的部分。 如果t不在s内,返回s与两个空字符串。 使用s.rpartition()可在t最右边部分进行分区 |
s.replace(t,u,n) | 返回s的副本,其中每个(或最多n个,如果给定)字符串t使用u替换 |
s.split(t,n) |
返回字符串列表,要求在字符串t处最多分割n次,如果没有给定n,就分割尽可能多次,如果t没有给定,就在空白处进行分割。 s.rsplit()从右进行分割 |
s.splitlines(f) | 返回在在行终结符处进行分割产生的行列表,并剥离行终结符 |
s.startswith(x,start,end) |
如果s(或s的分片)以字符串x开始(或以元组x中的任意字符串开始),就返回True,否则返回false 参见:s.endswith() |
s.strip(chars) |
返回 s 的副本,并将开始处与结尾处的空白字符(或字符串chars中的字符)移除, s.lstrip()仅剥离起始处的相应字符, s.rstrip()只剥离结尾处的相应字符 |
s.swapcase() | 返回 s 的副本,并将其中的大写字符变小写,小写变大写 |
s.title() | 返回 s 的副本,并将每个单词的首字母变大写,其他字母都变为小写 |
s.translate() | 与 s.maketrans()类似 |
s.upper() | 返回 s 的大写化版本 |
s.zfill(w) | 返回 s 的副本,如果比 w 短, 就在开始处添加0,使其长度为w |
len(s):返回字符串长度,len('abd')==3
*操作符提供了字符串复制功能
>>> s=['you','love','i' ] >>> ' '.join(reversed(s)) 'i love you' >>> s='='*5 >>> print s ===== >>> s *= 10 >>> print s ==================================================
str.format()方法进行字符串格式化
str.format()方法返回一个新字符串,在新字符串中,元字符串的替换字段被格式化后的参数所代替。每个替换字段都是由包含在花括号中的字段名标识的。例如:
>>> "The '{0}' was published in {1}".format("Hard Times",1854) "The 'Hard Times' was published in 1854"
包含花括号,需将其复写
>>> "{{{0}}} {1};-}}".format("gool","cool") '{gool} cool;-}'
使用字段名:
>>> "{who} turned {age} this year".format(who="she",age=88) 'she turned 88 this year' 字段名可以引用集合数据类型,例如列。可以包含一个索引来标识特定的数据项 >>> stock=['paper','envelopes','notepads','pens','paper clips'] >>> "We have {0[1]} and {0[2]} in stock".format(stock) 'We have envelopes and notepads in stock' 字典对象应用 >>> d=dict(animal='elephant',weight=12000) >>> "The {0[animal]} weights {0[weight]}kg".format(d) 'The elephant weights 12000kg'
作用范围内的局部变量可通过内置的locals()函数访问,该函数返回一个字典,字典的键是局部变量名,字典的值是对变量值的引用。可使用映射拆分将该字典提供给str.format()方法,映射拆分操作符为**,可应用于映射来产生一个适合于传递给函数的键-值列表
>>> element = "Silver" >>> number = 46 >>> "Element {number} is {element}".format(**locals()) 'Element 46 is Silver'
还可以通过拆分字典来将变量填充到str.format()方法,允许使用字典的键作为字段名
>>> d=dict(animal='elephant',weight=12000) >>> "The {animal} weights {weight}kg".format(**d) 'The elephant weights 12000kg'