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'

  

posted @ 2015-12-02 19:52  xixiaoyao  阅读(166)  评论(0编辑  收藏  举报