跟老齊學(xué)Python之玩轉(zhuǎn)字符串(2)更新篇
上一章中已經(jīng)講到連接兩個(gè)字符串的一種方法。復(fù)習(xí)一下:
>>> a= 'py'
>>> b= 'thon'
>>> a+b
'python'
既然這是一種方法,言外之意,還有另外一種方法。
連接字符串的方法2
在說(shuō)方法2之前,先說(shuō)明一下什么是占位符,此前在講解變量(參數(shù))的時(shí)候,提到了占位符,這里對(duì)占位符做一個(gè)比較嚴(yán)格的定義:
來(lái)自百度百科的定義:
顧名思義,占位符就是先占住一個(gè)固定的位置,等著你再往里面添加內(nèi)容的符號(hào)。
根據(jù)這個(gè)定義,在python里面規(guī)定了一些占位符,通過(guò)這些占位符來(lái)說(shuō)明那個(gè)位置應(yīng)該填寫(xiě)什么類(lèi)型的東西,這里暫且了解兩個(gè)占位符:%d——表示那個(gè)位置是整數(shù),%s——表示那個(gè)位置應(yīng)該是字符串。下面看一個(gè)具體實(shí)例:
>>> print "one is %d"%1
one is 1
要求打印(print)的內(nèi)容中,有一個(gè)%d占位符,就是說(shuō)那個(gè)位置應(yīng)該放一個(gè)整數(shù)。在第二個(gè)%后面,跟著的就是那個(gè)位置應(yīng)該放的東西。這里是一個(gè)整數(shù)1。我們做下面的操作,就可以更清楚了解了:
>>> a=1
>>> type(a)
<type 'int'> #a是整數(shù)
>>> b="1"
>>> type(b)
<type 'str'> #b是字符串
>>> print "one is %d"%a
one is 1
>>> print "one is %d"%b #報(bào)錯(cuò)了,這個(gè)占位符的位置應(yīng)該放整數(shù),不應(yīng)該放字符串。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not str
同樣道理,%s對(duì)應(yīng)的位置應(yīng)該放字符串,但是,如果放了整數(shù),也可以。只不過(guò)是已經(jīng)轉(zhuǎn)為字符串對(duì)待了。但是不贊成這么做。在將來(lái),如果使用mysql(一種數(shù)據(jù)庫(kù))的時(shí)候,會(huì)要求都用%s做為占位符,這是后話,聽(tīng)聽(tīng)有這么回事即可。
>>> print "one is %s"%b
one is 1
>>> print "one is %s"%a #字符串是包容的
one is 1
好了。啰嗦半天,占位符是不是理解了呢?下面我們就用占位符來(lái)連接字符串。是不是很有意思?
>>> a = "py"
>>> b = "thon"
>>> print "%s%s"%(a,b) #注
python
注:仔細(xì)觀察,如果兩個(gè)占位符,要向這兩個(gè)位置放東西,代表的東西要寫(xiě)在一個(gè)圓括號(hào)內(nèi),并且中間用逗號(hào)(半角)隔開(kāi)。
字符串復(fù)制
有一個(gè)變量,連接某個(gè)字符串,也想讓另外一個(gè)變量,也連接這個(gè)字符串。一種方法是把字符串再寫(xiě)一邊,這種方法有點(diǎn)笨拙,對(duì)于短的到無(wú)所謂了。但是長(zhǎng)的就麻煩了。這里有一種字符串復(fù)制的方法:
>>> a = "My name is LaoQi. I like python and can teach you to learn it."
>>> print a
My name is LaoQi. I like python and can teach you to learn it.
>>> b = a
>>> print b
My name is LaoQi. I like python and can teach you to learn it.
>>> print a
My name is LaoQi. I like python and can teach you to learn it.
復(fù)制非常簡(jiǎn)單,類(lèi)似與賦值一樣??梢岳斫鉃槟莻€(gè)字符串本來(lái)跟a連接著,通過(guò)b=a,a從自己手里分處一股繩子給了b,這樣兩者都可以指向那個(gè)字符串了。
字符串長(zhǎng)度
要向知道一個(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'>
字符大小寫(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.istitle() #是否單詞首字母大寫(xiě)的,且其它為小寫(xiě),注網(wǎng)友白羽毛指出,這里表述不準(zhǔn)確。非常感謝他。為了讓看官對(duì)這些大小寫(xiě)問(wèn)題有更深刻理解,我從新寫(xiě)下面的例子,請(qǐng)看官審查。再次感謝白羽毛。
S.isupper() #S中的字母是否全是大寫(xiě)
S.islower() #S中的字母是否全是小寫(xiě)
看例子:
>>> 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
順著白羽毛網(wǎng)友指出的,再探究一下,可以這么做:
>>> a = "This is a Book"
>>> a.istitle()
False
>>> b = a.title() #這樣就把所有單詞的第一個(gè)字母轉(zhuǎn)化為大寫(xiě)
>>> b
'This Is A Book'
>>> a.istitle() #判斷每個(gè)單詞的第一個(gè)字母是否為大寫(xiě)
False
字符串問(wèn)題,看來(lái)本講還不能結(jié)束。下一講繼續(xù)。有看官可能要問(wèn)了,上面這些在實(shí)戰(zhàn)中怎么用?我正想為你的,請(qǐng)鍵客設(shè)計(jì)一種實(shí)戰(zhàn)情景,能不能用上所學(xué)。
- python通過(guò)pip更新所有已安裝的包實(shí)現(xiàn)方法
- Linux更新Python版本及修改python默認(rèn)版本的方法
- python更新列表的方法
- 在Python的Django框架中更新數(shù)據(jù)庫(kù)數(shù)據(jù)的方法
- 跟老齊學(xué)Python之使用Python查詢(xún)更新數(shù)據(jù)庫(kù)
- python獲取文件后綴名及批量更新目錄下文件后綴名的方法
- python實(shí)現(xiàn)dnspod自動(dòng)更新dns解析的方法
- centos下更新Python版本的步驟
- Python常用模塊介紹
- Python編程實(shí)現(xiàn)雙擊更新所有已安裝python模塊的方法
相關(guān)文章
基于Python實(shí)現(xiàn)合并多張圖片轉(zhuǎn)成mp4視頻
隨著現(xiàn)代科技飛速發(fā)展和人們提升視覺(jué)上體驗(yàn),利用圖片生成視頻的方法,確實(shí)為工作或者提升生活體驗(yàn)感做了很多成功案例,本文就來(lái)介紹一下具體實(shí)現(xiàn)方法吧2023-04-04用python wxpy管理微信公眾號(hào)并利用微信獲取自己的開(kāi)源數(shù)據(jù)
這篇文章主要介紹了用python wxpy管理微信公眾號(hào)并利用微信獲取自己的開(kāi)源數(shù)據(jù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Django forms表單 select下拉框的傳值實(shí)例
今天小編就為大家分享一篇Django forms表單 select下拉框的傳值實(shí)例。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python圖像處理Pillow庫(kù)的基礎(chǔ)使用
Pillow庫(kù)是Python中最流行的圖像處理庫(kù)之一,它是PIL(Python Imaging Library)的一個(gè)分支,提供了豐富的圖像處理功能,使圖像處理變得簡(jiǎn)單而高效,在這篇文章中,我們將探討Pillow庫(kù)的一些基本功能,感興趣的朋友可以參考下2023-09-09python中ThreadPoolExecutor線程池和ProcessPoolExecutor進(jìn)程池
這篇文章主要介紹了python中ThreadPoolExecutor線程池和ProcessPoolExecutor進(jìn)程池,文章圍繞主題相關(guān)資料展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-06-06python判斷鏈表是否有環(huán)的實(shí)例代碼
在本篇文章里小編給大家整理的是關(guān)于python判斷鏈表是否有環(huán)的知識(shí)點(diǎn)及實(shí)例代碼,需要的朋友們參考下。2020-01-01Python基礎(chǔ)知識(shí)學(xué)習(xí)之類(lèi)的繼承
今天帶大家學(xué)習(xí)Python的基礎(chǔ)知識(shí),文中對(duì)python類(lèi)的繼承作了非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05