python學(xué)習(xí)筆記(三)字符串

個人筆記,僅供參考

三、使用字符串

1、字符串基本操作

所有的標(biāo)準(zhǔn)序列操作都適用于字符串,但是字符串不可變,所以不可以給字符串賦值。

2、設(shè)置字符串的格式

替換字段名

在最簡單的情況下,只需向format提供要設(shè)置其格式的未命名參數(shù),并在格式字符串中使用未命名字段。此時,將按順序?qū)⒆侄魏蛥?shù)配對。你還可以給參數(shù)指定名稱,這種參數(shù)將被用于相應(yīng)的替換字符中。

>>> "{foo}{}{bar}{}".format(1,2,bar=4,foo=3)
'3142'

還可以通過索引來指定使用的未命名參數(shù)

>>> "{foo}{1}{bar}{0}".format(1,2,bar=4,foo=3)
'3241'

基本轉(zhuǎn)換

指定要在字段中包含的值后,就可添加有關(guān)如何設(shè)置其格式的指令了。首先,可以提供轉(zhuǎn)換標(biāo)志。

>>> print("{pi!s}{pi!r}{pi!a}".format(pi="π"))
π'π''\u03c0'

上面三個標(biāo)志(s,r和a)指定分別使用str、repr和ascii進行轉(zhuǎn)換。

類型說明符:

類型 含義
b 將整數(shù)表示為二進制數(shù)
c 將整數(shù)解讀為Unicode碼點
d 將整數(shù)視為十進制數(shù)進行處理,這是整數(shù)默認的說明符
e 使用科學(xué)表示法來表示小數(shù)(用e來表示指數(shù))
E 與e相同,但使用E來表示指數(shù)
f 將小數(shù)表示為定點數(shù)
F 與f相同,但對于特殊值(nan和inf),使用大寫表示
g 自動在定點表示法和科學(xué)表示法之間做出選擇。這是默認用于小數(shù)的說明符,但在默認情況下至少有1位 小數(shù)
G 與g相同,但使用大寫來表示指數(shù)和特殊值
n 與g相同,但插入?yún)^(qū)域而異的數(shù)字分隔符
o 將整數(shù)表示為八進制數(shù)
s 保持字符串的格式不變,這是默認用于字符串的說明符
x 將整數(shù)表示為十六進制數(shù)并使用小寫字母
X 與x相同,但使用大寫字母
% 將數(shù)表示為百分比值

寬度、精度和千位分隔符

設(shè)置浮點數(shù)的格式時,默認在小數(shù)點后面顯示6位小數(shù),并根據(jù)需要設(shè)置的寬度,而不進行任何填充。

寬度使用整數(shù)指定:

>>> "{num:10}".format(num=3)
'         3'
>>> "{name:10}".format(name="Bob")
'Bob       '

精度也通過指定,但需要在它前面加一個表示小數(shù)點的句點。

"Pi day is {pi:.2f}".format(pi=pi)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>

ps:應(yīng)該是會返回π的值的,不知道為什么報錯了

最后,可使用逗號來指出你要添加千位分隔符

>>> 'One googli is {:,}'.format(10**100)
'One googli is 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000'

3、字符串方法

只介紹幾個重要的

3.1、center

方法center通過在兩邊添加填充字符(默認為空格)讓字符串居中。

>>> "The Middle by Jimmy Eat World".center(39)
'     The Middle by Jimmy Eat World     '
>>> "The Middle by Jimmy Eat World".center(39,"*")
'*****The Middle by Jimmy Eat World*****'

3.2、find

方法find在字符串中查找子串。如果找到,就返回子串第一個字符的索引,否則返回-1

>>> title = "Monty Python's Flying Circus"
>>> title.find('Monty')
0

3.3、join

join是一個非常重要的字符串方法,其作用與split相反,用于合并序列的元素

>>> seq = ['1','2','3','4','5']
>>> sep = '+'
>>> sep.join(seq)
'1+2+3+4+5'

3.4、lower

方法lower把字符串全部小寫后返回

>>> 'ABCDEFG'.lower()
'abcdefg'

title方法,讓字符串中每個單詞首字母大寫,使用方法同lower

3.5、replace

將指定的子串都替換為另一個字符串,并返回結(jié)果

>>> 'This is a test'.replace('is','eez')
'Theez eez a test'

3.6、split

重要的字符串方法,作用與join相反,用于將字符串拆分為序列

>>> '1+2+3+4+5'.split('+')
['1', '2', '3', '4', '5']

3.7、strip

方法strip將字符串開頭和末尾的空白(不包括中間)刪除,并返回結(jié)果。

>>> '     internal whitespace is kept     '.strip()
'internal whitespace is kept'

ps:有只刪除開頭空白和值刪除結(jié)尾空白的方法

可以指定參數(shù)刪除哪些字符(開頭結(jié)尾的)

>>> '*** SPAM * for * everyone!!!***'.strip(' *!')
'SPAM * for * everyone'

這里指定的是刪除空白,感嘆號和星號

3.8、translate

與replace一樣替換字符串的特定部分,但不同的是它可以同時替換多個字符,但使用前要創(chuàng)建轉(zhuǎn)換表。

>>> table = str.maketrans('cs','kz')

轉(zhuǎn)換表如上,參數(shù)是兩個長度相等的字符串,使用時第一個字符串中的每個字符都替換為第二個字符串中對應(yīng)的字符

>>> 'this is an incredible test'.translate(table)
'thiz iz an inkredible tezt'

如上,所有c被換成k,所有s被換成z

在創(chuàng)建轉(zhuǎn)換表時可以使用第三個參數(shù),指定要刪除的內(nèi)容。如下,被刪除的為空格

>>> table = str.maketrans('cs','kz',' ')
>>> 'this is an incredible test'.translate(table)
'thizizaninkredibletezt'
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,737評論 0 5
  • 字符串 1.字符串的本質(zhì)是字符序列 2.字符串是不可變的 ''' 3.創(chuàng)建字符串 單行數(shù)據(jù) a.單引號創(chuàng)建 'St...
    nzdnllm閱讀 717評論 0 4
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,691評論 0 4
  • 1 Python 字符串的 CRUD 操作 1.1 創(chuàng)建字符串 字符串是 Python 中最常用的數(shù)據(jù)類型。我們可...
    藕絲空間閱讀 883評論 0 1
  • ??引用類型的值(對象)是引用類型的一個實例。 ??在 ECMAscript 中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)...
    霜天曉閱讀 1,227評論 0 1

友情鏈接更多精彩內(nèi)容