久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Python 字符串方法詳解

 londonKu 2012-03-26
在編程中,幾乎90% 以上的代碼都是關(guān)于整數(shù)或字符串操作,,所以與整數(shù)一樣,,Python 的字符串實(shí)現(xiàn)也使用了許多拿優(yōu)化技術(shù),使得字符串的性能達(dá)到極致,。與 C++ 標(biāo)準(zhǔn)庫(STL)中的 std::string 不同,,python 字符串集合了許多字符串相關(guān)的算法,以方法成員的方式提供接口,,使用起來非常方便,。 字符串方法大約有幾十個(gè),這些方法可以分為如下幾類(根據(jù) manuals 整理):
類型
方法
注解
填充
center(width[, fillchar]) ,
ljust(width[, fillchar]),
rjust(width[, fillchar]),
zfill(width),
expandtabs([tabsize])
l         fillchar 參數(shù)指定了用以填充的字符,,默認(rèn)為空格
l         顧名思義,,zfill()即是以字符0進(jìn)行填充,在輸出數(shù)值時(shí)比較常用
l         expandtabs()的tabsize 參數(shù)默認(rèn)為8,。它的功能是把字符串中的制表符(tab)轉(zhuǎn)換為適當(dāng)數(shù)量的空格,。
刪減
strip([chars]),
lstrip([chars]),
rstrip([chars])
*strip()函數(shù)族用以去除字符串兩端的空白符,空白符由string.whitespace常量定義,。
變形
lower(),
upper(),
capitalize(),
swapcase(),
title()
title()函數(shù)是比較特別的,,它的功能是將每一個(gè)單詞的首字母大寫,并將單詞中的非首字母轉(zhuǎn)換為小寫(英文文章的標(biāo)題通常是這種格式),。
>>> 'hello wORld!'.title()
'Hello World!'
因?yàn)閠itle() 函數(shù)并不去除字符串兩端的空白符也不會(huì)把連續(xù)的空白符替換為一個(gè)空格,,所以建議使用string 模塊中的capwords(s)函數(shù),,它能夠去除兩端的空白符,再將連續(xù)的空白符用一個(gè)空格代替,。
>>> ' hello   world!'.title()
' Hello   World!'
>>> string.capwords(' hello   world!')
'Hello World!'
分切
partition(sep),
rpartition(sep),
splitlines([keepends]),
split([sep [,maxsplit]]),
rsplit([sep[,maxsplit]])
l         *partition ()函數(shù)族是2.5版本新增的方法,。它接受一個(gè)字符串參數(shù),并返回一個(gè)3個(gè)元素的 tuple 對象,。如果sep沒出現(xiàn)在母串中,,返回值是 (sep, ‘’, ‘’);否則,,返回值的第一個(gè)元素是 sep 左端的部分,,第二個(gè)元素是 sep 自身,第三個(gè)元素是 sep 右端的部分,。
l         參數(shù) maxsplit 是分切的次數(shù),,即最大的分切次數(shù),所以返回值最多有 maxsplit+1 個(gè)元素,。
l         s.split() 和 s.split(‘ ‘)的返回值不盡相同
>>> ' hello   world!'.split()
['hello', 'world!']
>>> ' hello   world!'.split(' ')
['', '', 'hello', '', '', 'world!']
產(chǎn) 生差異的原因在于當(dāng)忽略 sep 參數(shù)或sep參數(shù)為 None 時(shí)與明確給 sep 賦予字符串值時(shí) split() 采用兩種不同的算法,。對于前者,split() 先去除字符串兩端的空白符,,然后以任意長度的空白符串作為界定符分切字符串(即連續(xù)的空白符串被當(dāng)作單一的空白符看待),;對于后者則認(rèn)為兩個(gè)連續(xù)的 sep 之間存在一個(gè)空字符串。因此對于空字符串(或空白符串),,它們的返回值也是不同的:
>>> ''.split()
[]
>>> ''.split(' ')
['']
連接
join(seq)
join() 函數(shù)的高效率(相對于循環(huán)相加而言),,使它成為最值得關(guān)注的字符串方法之一。它的功用是將可迭代的字符串序列連接成一條長字符串,,如:
>>> conf = {'host':'127.0.0.1',
...     'db':'spam',
...     'user':'sa',
...     'passwd':'eggs'}
>>> ';'.join("%s=%s"%(k, v) for k, v in conf.iteritems())
'passswd=eggs;db=spam;user=sa;host=127.0.0.1'
判定
isalnum(),
isalpha(),
isdigit(),
islower(),
isupper(),
isspace(),
istitle(),
startswith(prefix[, start[, end]]),
endswith(suffix[,start[, end]])
這些函數(shù)都比較簡單,顧名知義,。需要注意的是*with()函數(shù)族可以接受可選的 start, end 參數(shù),,善加利用,可以優(yōu)化性能,。
另,,自 Py2.5 版本起,*with() 函數(shù)族的 prefix 參數(shù)可以接受 tuple 類型的實(shí)參,,當(dāng)實(shí)參中的某人元素能夠匹配,,即返回 True。
查找
count( sub[, start[, end]]),
find( sub[, start[, end]]),
index( sub[, start[, end]]),
rfind( sub[, start[,end]]),
rindex( sub[, start[, end]])
find()函數(shù)族找不到時(shí)返回-1,,index()函數(shù)族則拋出ValueError異常
另,,也可以用 in 和 not in 操作符來判斷字符串中是否存在某個(gè)模板。
替換
replace(old, new[,count]),
translate(table[,deletechars])
l         replace()函數(shù)的 count 參數(shù)用以指定最大替換次數(shù)
l         translate() 的參數(shù) table 可以由 string.maketrans(frm, to) 生成
l         translate() 對 unicode 對象的支持并不完備,,建議不要使用,。
編碼
encode([encoding[,errors]]),
decode([encoding[,errors]])
這 是一對互逆操作的方法,,用以編碼和解碼字符串。因?yàn)閟tr是平臺(tái)相關(guān)的,,它使用的內(nèi)碼依賴于操作系統(tǒng)環(huán)境,,而unicode是平臺(tái)無關(guān)的,是Python 內(nèi)部的字符串存儲(chǔ)方式,。unicode可以通過編碼(encode)成為特定編碼的str,,而str也可以通過解碼(decode)成為unicode。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多