您的位置:首页 > 编程语言 > Python开发

Python学习进程(8)字符串內建函数

2016-07-21 12:08 405 查看
[b] Python字符串內建函数实现了string模块的大部分方法,并包括了对Unicode编码方式的支持。[/b]

[b] (1)capitalize():[/b]

将字符串的第一个字母变成大写,其他字母变小写。对于 8 位字节编码需要根据本地环境。

>>> str='I AM MenAngel!'+'I am Student!'
>>> print(str)
I AM MenAngel!I am Student!
>>> str.capitalize()
'I am menangel!i am student!'


[b] (2)center(width):[/b]

返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。

>>> str='title:Python and Big data!'
>>> str
'title:Python and Big dat!'
>>> str.center(40)
'       title:Python and Big dat!        '
>>>


[b] (3)count(sub, start= 0,end=len(string)):[/b]

用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

>>> str='xiaoming and MenAngel and xiaohua'
>>> str.count('and',10,20)
0
>>> str.count('and',0,len(str))
2


[b] (4)encode(encoding='UTF-8',errors='strict'):[/b]

以 encoding 指定的编码格式编码字符串。默认编码为字符串编码。该方法返回编码后的字符串。

参数:

encoding -- 要使用的编码,如"UTF-8"。
errors -- 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。


实例:

>>> str='This is a string example!'
>>> str=str.encode('utf-8','strict')
>>> print(str)
b'This is a string example!'


encode解码用字符串编码方式的字符串,返回bytes类型。并且不能再次被解码:

str=str.encode('base','strict')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'bytes' object has no attribute 'encode'


[b] (5)deconde():[/b]

以 encoding 指定的编码格式解码字符串。默认编码为字符串编码。

参数与(4)类似:

>>> str='This is a string example!'
>>> str=str.encode('utf-8','strict')
>>> print(str)
b'This is a string example!'
>>> str=str.decode('utf-8','strict')
>>> print(str)
This is a string example!
>>> str
'This is a string example!'


[b] (6)endswith(suffix[, start[, end]]):[/b]

endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。

参数:

suffix -- 该参数可以是一个字符串或者是一个元素。
start  -- 字符串中的开始位置。
end    -- 字符中结束位置。


如果字符串含有指定的后缀返回True,否则返回False。

>>> str='上海自来水来自哪里啊?上海!'
>>> suffix='上海'
>>> str.endwith(suffix,0,length(str)-1)
>>> str.endswith(suffix,0,len(str)-1)
False
>>> str.endswith(suffix,0,2)
True
>>> str[0:len(str)-1]
'上海自来水来自哪里啊?上'
>>> str
'上海自来水来自哪里啊?上海'
#结论:叹号不再字符串里


[b] (7)expandtabs(tabsize=4):[/b]

把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 4。该方法返回字符串中的 tab 符号('\t')转为空格后生成的新字符串。

>>> print(str)
你好啊    MenAngel
>>> print(str.expandtabs(10))
你好啊       MenAngel
>>> print(str.expandtabs(0))
你好啊MenAngel
>>> print(str)   #str并未改变,此函数创建了一个副本
你好啊    MenAngel


[b] (8)find(str, beg=0, end=len(string)):[/b]

检测字符串中是否包含子字符串 str ,如果指定 beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

>>> str='loyalty is the foundation on which the night\'s wath was built'
>>> str
"loyalty is the foundation on which the night's wath was built"
>>> print(str.find('is',5))
8
>>> print(str.find('xiaoming',0,len(str)-5))
-1


[b] (9)find(str, beg=0, end=len(string))[/b]

检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。


参数:

str -- 指定检索的字符串
beg -- 开始索引,默认为0。
end -- 结束索引,默认为字符串的长度。


实例:(find与index的区别)

>>> str
"loyalty is the foundation on which the night's wath was built"
>>> str.index('is')
8
>>> str.index('Men')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> str.find('Men')
-1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: