欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中常用操作字符串的函數(shù)與方法總結(jié)

 更新時(shí)間:2016年02月04日 16:45:47   投稿:goldensun  
這篇文章主要介紹了Python中常用操作字符串的函數(shù)與方法總結(jié),包括字符串的格式化輸出與拼接等基礎(chǔ)知識(shí),需要的朋友可以參考下

例如這樣一個(gè)字符串 Python,它就是幾個(gè)字符:P,y,t,h,o,n,排列起來(lái)。這種排列是非常嚴(yán)格的,不僅僅是字符本身,而且還有順序,換言之,如果某個(gè)字符換了,就編程一個(gè)新字符串了;如果這些字符順序發(fā)生變化了,也成為了一個(gè)新字符串。

在 Python 中,把像字符串這樣的對(duì)象類(lèi)型(后面還會(huì)冒出來(lái)類(lèi)似的其它有這種特點(diǎn)的對(duì)象類(lèi)型,比如列表),統(tǒng)稱(chēng)為序列。顧名思義,序列就是“有序排列”。

比如水泊梁山的 108 個(gè)好漢(里面分明也有女的,難道女漢子是從這里來(lái)的嗎?),就是一個(gè)“有序排列”的序列。從老大宋江一直排到第 108 位金毛犬段景住。在這個(gè)序列中,每個(gè)人有編號(hào),編號(hào)和每個(gè)人一一對(duì)應(yīng)。1 號(hào)是宋江,2 號(hào)是盧俊義。反過(guò)來(lái),通過(guò)每個(gè)人的姓名,也能找出他對(duì)應(yīng)的編號(hào)。武松是多少號(hào)?14 號(hào)。李逵呢?22 號(hào)。

在 Python 中,給這些編號(hào)取了一個(gè)文雅的名字,叫做索引(別的編程語(yǔ)言也這么稱(chēng)呼,不是 Python 獨(dú)有的。)。

索引和切片
前面用梁山好漢的為例說(shuō)明了索引。再看 Python 中的例子:

>>> lang = "study Python"
>>> lang[0]
's'
>>> lang[1]
't'

有一個(gè)字符串,通過(guò)賦值語(yǔ)句賦給了變量 lang。如果要得到這個(gè)字符串的第一個(gè)單詞 s,可以用 lang[0]。當(dāng)然,如果你不愿意通過(guò)賦值語(yǔ)句,讓變量 lang 來(lái)指向那個(gè)字符串,也可以這樣做:

>>> "study Python"[0]
's'

效果是一樣的。因?yàn)?lang 是標(biāo)簽,就指向了 "study Python" 字符串。當(dāng)讓 Python 執(zhí)行 lang[0] 的時(shí)候,就是要轉(zhuǎn)到那個(gè)字符串對(duì)象,如同上面的操作一樣。只不過(guò),如果不用 lang 這么一個(gè)變量,后面如果再寫(xiě),就費(fèi)筆墨了,要每次都把那個(gè)字符串寫(xiě)全了。為了省事,還是復(fù)制給一個(gè)變量吧。變量就是字符串的代表了。

字符串這個(gè)序列的排序方法跟梁山好漢有點(diǎn)不同,第一個(gè)不是用數(shù)字1表示,而是用數(shù)字 0 表示。不僅僅 Python,其它很多語(yǔ)言都是從 0 開(kāi)始排序的。為什么這樣做呢?這就是規(guī)定。當(dāng)然,這個(gè)規(guī)定是有一定優(yōu)勢(shì)的。此處不展開(kāi),有興趣的網(wǎng)上去 google 一下,有專(zhuān)門(mén)對(duì)此進(jìn)行解釋的文章。

0 1 2 3 4 5 6 7 8 9 10 11
s t u d y l p y t h o n


上面的表格中,將這個(gè)字符串從第一個(gè)到最后一個(gè)進(jìn)行了排序,特別注意,兩個(gè)單詞中間的那個(gè)空格,也占用了一個(gè)位置。

通過(guò)索引能夠找到該索引所對(duì)應(yīng)的字符,那么反過(guò)來(lái),能不能通過(guò)字符,找到其在字符串中的索引值呢?怎么找?

>>> lang.index("p")
6

就這樣,是不是已經(jīng)能夠和梁山好漢的例子對(duì)上號(hào)了?只不過(guò)區(qū)別在于第一個(gè)的索引值是 0。

如果某一天,宋大哥站在大石頭上,向著各位弟兄大喊:“兄弟們,都排好隊(duì)?!钡刃值軅兣藕弥?,宋江說(shuō):“現(xiàn)在給各位沒(méi)有老婆的兄弟分配女朋友,我這里已經(jīng)有了名單,我念叨的兄弟站出來(lái)。不過(guò)我是按照序號(hào)來(lái)念的。第 29 號(hào)到第 34 號(hào)先出列,到旁邊房子等候分配女朋友。”

在前面的例子中 lang[1] 能夠得到原來(lái)字符串的第二個(gè)字符 t,就相當(dāng)于從原來(lái)字符串中把這個(gè)“切”出來(lái)了。不過(guò),我們這么“切”卻不影響原來(lái)字符串的完整性,當(dāng)然可以理解為將那個(gè)字符 t 賦值一份拿出來(lái)了。

那么宋江大哥沒(méi)有一個(gè)一個(gè)“切”,而是一下將幾個(gè)兄弟叫出來(lái)。在 Python 中也能做類(lèi)似事情。

>>> lang
'study Python'  #在前面“切”了若干的字符之后,再看一下該字符串,還是完整的。
>>> lang[2:9]
'udy pyt'

通過(guò) lang[2:9]要得到部分(不是一個(gè))字符,從返回的結(jié)果中可以看出,我們得到的是序號(hào)分別對(duì)應(yīng)著 2,3,4,5,6,7,8(跟上面的表格對(duì)應(yīng)一下)字符(包括那個(gè)空格)。也就是,這種獲得部分字符的方法中,能夠得到開(kāi)始需要的以及最后一個(gè)序號(hào)之前的所對(duì)應(yīng)的字符。有點(diǎn)拗口,自己對(duì)照上面的表格數(shù)一數(shù)就知道了。簡(jiǎn)單說(shuō)就是包括開(kāi)頭,不包括結(jié)尾。

上述,不管是得到一個(gè)還是多個(gè),通過(guò)索引得到字符的過(guò)程,稱(chēng)之為切片。

切片是一個(gè)很有意思的東西。可以“切”出不少花樣呢?

>>> lang
'study Python'
>>> b = lang[1:]  # 得到從 1 號(hào)到最末尾的字符,這時(shí)最后那個(gè)需要不用寫(xiě)
>>> b
'tudy Python'
>>> c = lang[:]  # 得到所有字符
>>> c
'study Python'
>>> d = lang[:10]  # 得到從第一個(gè)到 10 號(hào)之前的字符
>>> d
'study pyth'

在獲取切片的時(shí)候,如果分號(hào)的前面或者后面的序號(hào)不寫(xiě),就表示是到最末(后面的不寫(xiě))或第一個(gè)(前面的不寫(xiě))

lang[:10]的效果和 lang[0:10]是一樣的。

>>> e = lang[0:10]
>>> e
'study pyth'

那么,lang[1:]和 lang[1:11]效果一樣嗎?請(qǐng)思考后作答。

>>> lang[1:11]
'tudy pytho'
>>> lang[1:]
'tudy python'

果然不一樣,你思考對(duì)了嗎?原因就是前述所說(shuō)的,如果分號(hào)后面有數(shù)字,所得到的切片,不包含該數(shù)字所對(duì)應(yīng)的序號(hào)(前包括,后不包括)。那么,是不是可以這樣呢?lang[1:12],不包括 12 號(hào)(事實(shí)沒(méi)有 12 號(hào)),是不是可以得到 1 到 11 號(hào)對(duì)應(yīng)的字符呢?

>>> lang[1:12]
'tudy python'
>>> lang[1:13]
'tudy python'

果然是。并且不僅僅后面寫(xiě) 12,寫(xiě) 13,也能得到同樣的結(jié)果。但是,我這個(gè)特別要提醒,這種獲得切片的做法在編程實(shí)踐中是不提倡的。特別是如果后面要用到循環(huán)的時(shí)候,這樣做或許在什么時(shí)候遇到麻煩。

如果在切片的時(shí)候,冒號(hào)左右都不寫(xiě)數(shù)字,就是前面所操作的 c = lang[:],其結(jié)果是變量 c 的值與原字符串一樣,也就是“復(fù)制”了一份。注意,這里的“復(fù)制”我打上了引號(hào),意思是如同復(fù)制,是不是真的復(fù)制呢?可以用下面的方式檢驗(yàn)一下

>>> id(c)
3071934536L
>>> id(lang)
3071934536L

id()的作用就是查看該對(duì)象在內(nèi)存地址(就是在內(nèi)存中的位置編號(hào))。從上面可以看出,兩個(gè)的內(nèi)存地址一樣,說(shuō)明 c 和 lang 兩個(gè)變量指向的是同一個(gè)對(duì)象。用 c=lang[:]的方式,并沒(méi)有生成一個(gè)新的字符串,而是將變量 c 這個(gè)標(biāo)簽也貼在了原來(lái)那個(gè)字符串上了。

>>> lang = "study python"
>>> c = lang

如果這樣操作,變量 c 和 lang 是不是指向同一個(gè)對(duì)象呢?或者兩者所指向的對(duì)象內(nèi)存地址如何呢?看官可以自行查看。

字符串基本操作
字符串是一種序列,所有序列都有如下基本操作:

  • len():求序列長(zhǎng)度
  • :連接 2 個(gè)序列
  • : 重復(fù)序列元素
  • in :判斷元素是否存在于序列中
  • max() :返回最大值
  • min() :返回最小值
  • cmp(str1,str2) :比較 2 個(gè)序列值是否相同

通過(guò)下面的例子,將這幾個(gè)基本操作在字符串上的使用演示一下:

“+”連接字符串

>>> str1 + str2
'abcdabcde'
>>> str1 + "-->" + str2
'abcd-->abcde'

這其實(shí)就是拼接,不過(guò)在這里,看官應(yīng)該有一個(gè)更大的觀念,我們現(xiàn)在只是學(xué)了字符串這一種序列,后面還會(huì)遇到列表、元組兩種序列,都能夠如此實(shí)現(xiàn)拼接。

in

>>> "a" in str1
True
>>> "de" in str1
False
>>> "de" in str2
True

in 用來(lái)判斷某個(gè)字符串是不是在另外一個(gè)字符串內(nèi),或者說(shuō)判斷某個(gè)字符串內(nèi)是否包含某個(gè)字符串,如果包含,就返回 True,否則返回 False。

最值

>>> max(str1)
'd'
>>> max(str2)
'e'
>>> min(str1)
'a'

一個(gè)字符串中,每個(gè)字符在計(jì)算機(jī)內(nèi)都是有編碼的,也就是對(duì)應(yīng)著一個(gè)數(shù)字,min()和 max()就是根據(jù)這個(gè)數(shù)字里獲得最小值和最大值,然后對(duì)應(yīng)出相應(yīng)的字符。關(guān)于這種編號(hào)是多少,看官可以 google 有關(guān)字符編碼,或者 ASCII 編碼什么的,很容易查到。

比較

>>> cmp(str1, str2)
-1

將兩個(gè)字符串進(jìn)行比較,也是首先將字符串中的符號(hào)轉(zhuǎn)化為對(duì)一個(gè)的數(shù)字,然后比較。如果返回的數(shù)值小于零,說(shuō)明第一個(gè)小于第二個(gè),等于 0,則兩個(gè)相等,大于 0,第一個(gè)大于第二個(gè)。為了能夠明白其所以然,進(jìn)入下面的分析。

>>> ord('a')
97
>>> ord('b')
98
>>> ord(' ')
32

ord()是一個(gè)內(nèi)建函數(shù),能夠返回某個(gè)字符(注意,是一個(gè)字符,不是多個(gè)字符組成的串)所對(duì)一個(gè)的 ASCII 值(是十進(jìn)制的),字符 a 在 ASCII 中的值是 97,空格在 ASCII 中也有值,是 32。順便說(shuō)明,反過(guò)來(lái),根據(jù)整數(shù)值得到相應(yīng)字符,可以使用 chr():

>>> chr(97)
'a'
>>> chr(98)
'b'

于是,就得到如下比較結(jié)果了:

>>> cmp("a","b")  #a-->97, b-->98, 97 小于 98,所以 a 小于 b
-1
>>> cmp("abc","aaa") 
1
>>> cmp("a","a")
0

看看下面的比較,是怎么進(jìn)行的呢?

>>> cmp("ad","c")
-1

在字符串的比較中,是兩個(gè)字符串的第一個(gè)字符先比較,如果相等,就比較下一個(gè),如果不相等,就返回結(jié)果。直到最后,如果還相等,就返回 0。位數(shù)不夠時(shí),按照沒(méi)有處理(注意,沒(méi)有不是 0,0 在 ASCII 中對(duì)應(yīng)的是 NUL),位數(shù)多的那個(gè)天然大了。ad 中的 a 先和后面的 c 進(jìn)行比較,顯然 a 小于 c,于是就返回結(jié)果 -1。如果進(jìn)行下面的比較,是最容易讓人迷茫的??垂倌懿荒芨鶕?jù)剛才闡述的比較遠(yuǎn)離理解呢?

>>> cmp("123","23")
-1
>>> cmp(123,23)  # 也可以比較整數(shù),這時(shí)候就是整數(shù)的直接比較了。
1
“*”

字符串中的“乘法”,這個(gè)乘法,就是重復(fù)那個(gè)字符串的含義。在某些時(shí)候很好用的。比如我要打印一個(gè)華麗的分割線(xiàn):

>>> str1*3
'abcdabcdabcd'
>>> print "-"*20  # 不用輸入很多個(gè)`-`
--------------------
len()

要知道一個(gè)字符串有多少個(gè)字符,一種方法是從頭開(kāi)始,盯著屏幕數(shù)一數(shù)。哦,這不是計(jì)算機(jī)在干活,是鍵客在干活。

鍵客,不是劍客。劍客是以劍為武器的俠客;而鍵客是以鍵盤(pán)為武器的俠客。當(dāng)然,還有賤客,那是賤人的最高境界,賤到大俠的程度,比如岳不群之流。
鍵客這樣來(lái)數(shù)字符串長(zhǎng)度:

>>> a="hello"
>>> len(a)
5

使用的是一個(gè)函數(shù) len(object)。得到的結(jié)果就是該字符串長(zhǎng)度。

>>> m = len(a) # 把結(jié)果返回后賦值給一個(gè)變量
>>> m
5
>>> type(m)   # 這個(gè)返回值(變量)是一個(gè)整數(shù)型
<type 'int'>

字符串格式化輸出
什么是格式化?在維基百科中有專(zhuān)門(mén)的詞條,這么說(shuō)的:

格式化是指對(duì)磁盤(pán)或磁盤(pán)中的分區(qū)(partition)進(jìn)行初始化的一種操作,這種操作通常會(huì)導(dǎo)致現(xiàn)有的磁盤(pán)或分區(qū)中所有的文件被清除。
不知道你是否知道這種“格式化”。顯然,此格式化非我們這里所說(shuō)的,我們說(shuō)的是字符串的格式化,或者說(shuō)成“格式化字符串”,都可以,表示的意思就是:

格式化字符串,是 C、C++ 等程序設(shè)計(jì)語(yǔ)言 printf 類(lèi)函數(shù)中用于指定輸出參數(shù)的格式與相對(duì)位置的字符串參數(shù)。其中的轉(zhuǎn)換說(shuō)明(conversion specification)用于把隨后對(duì)應(yīng)的 0 個(gè)或多個(gè)函數(shù)參數(shù)轉(zhuǎn)換為相應(yīng)的格式輸出;格式化字符串中轉(zhuǎn)換說(shuō)明以外的其它字符原樣輸出。
這也是來(lái)自維基百科的定義。在這個(gè)定義中,是用 C 語(yǔ)言作為例子,并且用了其輸出函數(shù)來(lái)說(shuō)明。在 Python 中,也有同樣的操作和類(lèi)似的函數(shù) print,此前我們已經(jīng)了解一二了。

如果將那個(gè)定義說(shuō)的通俗一些,字符串格式化化,就是要先制定一個(gè)模板,在這個(gè)模板中某個(gè)或者某幾個(gè)地方留出空位來(lái),然后在那些空位填上字符串。那么,那些空位,需要用一個(gè)符號(hào)來(lái)表示,這個(gè)符號(hào)通常被叫做占位符(僅僅是占據(jù)著那個(gè)位置,并不是輸出的內(nèi)容)。

>>> "I like %s"
'I like %s'

在這個(gè)字符串中,有一個(gè)符號(hào):%s,就是一個(gè)占位符,這個(gè)占位符可以被其它的字符串代替。比如:

>>> "I like %s" % "python"
'I like python'
>>> "I like %s" % "Pascal"
'I like Pascal'

這是較為常用的一種字符串輸出方式。

另外,不同的占位符,會(huì)表示那個(gè)位置應(yīng)該被不同類(lèi)型的對(duì)象填充。下面列出許多,供參考。不過(guò),不用記憶,常用的只有 %s 和 %d,或者再加上 %f,其它的如果需要了,到這里來(lái)查即可。

占位符 說(shuō)明
%s 字符串(采用 str()的顯示)
%r 字符串(采用 repr()的顯示)
%c 單個(gè)字符
%b 二進(jìn)制整數(shù)
%d 十進(jìn)制整數(shù)
%i 十進(jìn)制整數(shù)
%o 八進(jìn)制整數(shù)
%x 十六進(jìn)制整數(shù)
%e 指數(shù) (基底寫(xiě)為 e)
%E 指數(shù) (基底寫(xiě)為 E)
%f 浮點(diǎn)數(shù)
%F 浮點(diǎn)數(shù),與上相同
%g 指數(shù)(e) 或浮點(diǎn)數(shù) (根據(jù)顯示長(zhǎng)度)
%G 指數(shù)(E)或浮點(diǎn)數(shù) (根據(jù)顯示長(zhǎng)度)


看例子:

>>> a = "%d years" % 15
>>> print a
15 years

當(dāng)然,還可以在一個(gè)字符串中設(shè)置多個(gè)占位符,就像下面一樣

>>> print "Suzhou is more than %d years. %s lives in here." % (2500, "qiwsir")
Suzhou is more than 2500 years. qiwsir lives in here.

對(duì)于浮點(diǎn)數(shù)字的打印輸出,還可以限定輸出的小數(shù)位數(shù)和其它樣式。

>>> print "Today's temperature is %.2f" % 12.235
Today's temperature is 12.23
>>> print "Today's temperature is %+.2f" % 12.235
Today's temperature is +12.23

注意,上面的例子中,沒(méi)有實(shí)現(xiàn)四舍五入的操作。只是截取。

常用的字符串方法
字符串的方法很多??梢酝ㄟ^(guò) dir 來(lái)查看:

>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

這么多,不會(huì)一一介紹,要了解某個(gè)具體的含義和使用方法,最好是使用 help 查看。舉例:

>>> help(str.isalpha)

Help on method_descriptor:

isalpha(...)
  S.isalpha() -> bool

  Return True if all characters in S are alphabetic
  and there is at least one character in S, False otherwise.

按照這里的說(shuō)明,就可以在交互模式下進(jìn)行實(shí)驗(yàn)。

>>> "python".isalpha()  # 字符串全是字母,應(yīng)該返回 True
True
>>> "2python".isalpha()  # 字符串含非字母,返回 False
False

split

這個(gè)函數(shù)的作用是將字符串根據(jù)某個(gè)分割符進(jìn)行分割。

>>> a = "I LOVE PYTHON"
>>> a.split(" ")
['I', 'LOVE', 'PYTHON']

這是用空格作為分割,得到了一個(gè)名字叫做列表(list)的返回值,關(guān)于列表的內(nèi)容,后續(xù)會(huì)介紹。還能用別的分隔嗎?

>>> b = "www.itdiffer.com"
>>> b.split(".")
['www', 'itdiffer', 'com']

去掉字符串兩頭的空格

這個(gè)功能,在讓用戶(hù)輸入一些信息的時(shí)候非常有用。有的朋友喜歡輸入結(jié)束的時(shí)候敲擊空格,比如讓他輸入自己的名字,輸完了,他來(lái)個(gè)空格。有的則喜歡先加一個(gè)空格,總做的輸入的第一個(gè)字前面應(yīng)該空兩個(gè)格。

這些空格是沒(méi)用的。Python 考慮到有不少人可能有這個(gè)習(xí)慣,因此就幫助程序員把這些空格去掉。

方法是:

  1. S.strip() 去掉字符串的左右空格
  2. S.lstrip() 去掉字符串的左邊空格
  3. S.rstrip() 去掉字符串的右邊空格
  4. 例如:
>>> b=" hello "  # 兩邊有空格
>>> b.strip()
'hello'
>>> b
' hello '

特別注意,原來(lái)的值沒(méi)有變化,而是新返回了一個(gè)結(jié)果。

>>> b.lstrip()  # 去掉左邊的空格
'hello '
>>> b.rstrip()  # 去掉右邊的空格
' hello'

字符大小寫(xiě)的轉(zhuǎn)換

對(duì)于英文,有時(shí)候要用到大小寫(xiě)轉(zhuǎn)換。最有名駝峰命名,里面就有一些大寫(xiě)和小寫(xiě)的參合。如果有興趣,可以來(lái)這里看自動(dòng)將字符串轉(zhuǎn)化為駝峰命名形式的方法。

在 Python 中有下面一堆內(nèi)建函數(shù),用來(lái)實(shí)現(xiàn)各種類(lèi)型的大小寫(xiě)轉(zhuǎn)化

  • S.upper() #S 中的字母大寫(xiě)
  • S.lower() #S 中的字母小寫(xiě)
  • S.capitalize() # 首字母大寫(xiě)
  • S.isupper() #S 中的字母是否全是大寫(xiě)
  • S.islower() #S 中的字母是否全是小寫(xiě)
  • S.istitle()
  • 看例子:
>>> a = "qiwsir,Python" 
>>> a.upper()    # 將小寫(xiě)字母完全變成大寫(xiě)字母
'QIWSIR,PYTHON'
>>> a        # 原數(shù)據(jù)對(duì)象并沒(méi)有改變
'qiwsir,Python'
>>> b = a.upper()
>>> b
'QIWSIR,PYTHON'
>>> c = b.lower()  # 將所有的小寫(xiě)字母變成大寫(xiě)字母
>>> c
'qiwsir,Python'

>>> a
'qiwsir,Python'
>>> a.capitalize() # 把字符串的第一個(gè)字母變成大寫(xiě)
'Qiwsir,Python'
>>> a        # 原數(shù)據(jù)對(duì)象沒(méi)有改變
'qiwsir,Python'
>>> b = a.capitalize() # 新建立了一個(gè)
>>> b
'Qiwsir,Python'

>>> a = "qiwsir,github"  # 這里的問(wèn)題就是網(wǎng)友白羽毛指出的,非常感謝他。
>>> a.istitle()
False
>>> a = "QIWSIR"    # 當(dāng)全是大寫(xiě)的時(shí)候,返回 False
>>> a.istitle()
False
>>> a = "qIWSIR"
>>> a.istitle()
False
>>> a = "Qiwsir,github" # 如果這樣,也返回 False
>>> a.istitle()
False
>>> a = "Qiwsir"    # 這樣是 True
>>> a.istitle()
True
>>> a = 'Qiwsir,Github' # 這樣也是 True
>>> a.istitle()
True

>>> a = "Qiwsir"
>>> a.isupper()
False
>>> a.upper().isupper()
True
>>> a.islower()
False
>>> a.lower().islower()
True

再探究一下,可以這么做:

>>> a = "This is a Book"
>>> a.istitle()
False
>>> b = a.title()   # 這樣就把所有單詞的第一個(gè)字母轉(zhuǎn)化為大寫(xiě)
>>> b
'This Is A Book'
>>> b.istitle()    # 判斷每個(gè)單詞的第一個(gè)字母是否為大寫(xiě)
True

join 拼接字符串

用“+”能夠拼接字符串,但不是什么情況下都能夠如愿的。比如,將列表(關(guān)于列表,后續(xù)詳細(xì)說(shuō),它是另外一種類(lèi)型)中的每個(gè)字符(串)元素拼接成一個(gè)字符串,并且用某個(gè)符號(hào)連接,如果用“+”,就比較麻煩了(是能夠?qū)崿F(xiàn)的,麻煩)。

用字符串的 join 就比較容易實(shí)現(xiàn)。

>>> b
'www.itdiffer.com'
>>> c = b.split(".")
>>> c
['www', 'itdiffer', 'com']
>>> ".".join(c)
'www.itdiffer.com'
>>> "*".join(c)
'www*itdiffer*com'


這種拼接,是不是簡(jiǎn)單呢?

相關(guān)文章

  • Python正則表達(dá)式的使用范例詳解

    Python正則表達(dá)式的使用范例詳解

    本文將是一系列關(guān)于Python正則表達(dá)式文章的其中一部分。在這個(gè)系列的第一篇文章中,我們將重點(diǎn)討論如何使用Python中的正則表達(dá)式并突出Python中一些獨(dú)有的特性。
    2014-08-08
  • Python網(wǎng)絡(luò)編程之HTTP協(xié)議的python應(yīng)用

    Python網(wǎng)絡(luò)編程之HTTP協(xié)議的python應(yīng)用

    HTTP是在網(wǎng)絡(luò)上傳輸HTML的協(xié)議,用于瀏覽器和服務(wù)器的通信,這篇文章主要介紹了Python網(wǎng)絡(luò)編程之HTTP協(xié)議的python應(yīng)用,需要的朋友可以參考下
    2022-11-11
  • python異步爬蟲(chóng)之多線(xiàn)程

    python異步爬蟲(chóng)之多線(xiàn)程

    這篇文章主要介紹了python異步爬蟲(chóng)之多線(xiàn)程,多線(xiàn)程可以為相關(guān)阻塞的操作單獨(dú)開(kāi)啟線(xiàn)程或者進(jìn)程,阻塞操作可以異步執(zhí)行,但是無(wú)法無(wú)限制開(kāi)啟多線(xiàn)程或多進(jìn)程,下面我們一起學(xué)習(xí)詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2022-02-02
  • Python使用re模塊正則提取字符串中括號(hào)內(nèi)的內(nèi)容示例

    Python使用re模塊正則提取字符串中括號(hào)內(nèi)的內(nèi)容示例

    這篇文章主要介紹了Python使用re模塊正則提取字符串中括號(hào)內(nèi)的內(nèi)容,結(jié)合實(shí)例形式分析了Python使用re模塊進(jìn)行針對(duì)括號(hào)內(nèi)容的正則匹配操作,并簡(jiǎn)單解釋了相關(guān)修正符與正則語(yǔ)句的用法,需要的朋友可以參考下
    2018-06-06
  • Python中強(qiáng)大的函數(shù)map?filter?reduce使用詳解

    Python中強(qiáng)大的函數(shù)map?filter?reduce使用詳解

    Python是一門(mén)功能豐富的編程語(yǔ)言,提供了許多內(nèi)置函數(shù),以簡(jiǎn)化各種編程任務(wù),在Python中,map(),filter()和reduce()是一組非常有用的函數(shù),它們?cè)试S對(duì)可迭代對(duì)象進(jìn)行操作,從而實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換、篩選和累積等操作,本文將詳細(xì)介紹這三個(gè)函數(shù),包括它們的基本用法和示例代碼
    2023-11-11
  • python實(shí)現(xiàn)批量按比例縮放圖片效果

    python實(shí)現(xiàn)批量按比例縮放圖片效果

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)批量按比例縮放圖片效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Tensorflow實(shí)現(xiàn)部分參數(shù)梯度更新操作

    Tensorflow實(shí)現(xiàn)部分參數(shù)梯度更新操作

    今天小編就為大家分享一篇Tensorflow實(shí)現(xiàn)部分參數(shù)梯度更新操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • 在python里從協(xié)程返回一個(gè)值的示例

    在python里從協(xié)程返回一個(gè)值的示例

    今天小編就為大家分享一篇在python里從協(xié)程返回一個(gè)值的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • python中數(shù)組和列表的簡(jiǎn)單實(shí)例

    python中數(shù)組和列表的簡(jiǎn)單實(shí)例

    ,Python數(shù)據(jù)類(lèi)型分為很多種,其中包括元組、字典、列表等,下面這篇文章主要給大家介紹了python中數(shù)組和列表使用的相關(guān)資料,以及python列表和Numpy數(shù)組的區(qū)別,需要的朋友可以參考下
    2022-03-03
  • 如何用Python和JS實(shí)現(xiàn)的Web SSH工具

    如何用Python和JS實(shí)現(xiàn)的Web SSH工具

    這篇文章主要介紹了如何用Python和JS實(shí)現(xiàn)的Web SSH工具,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02

最新評(píng)論