上一章中已經(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ě)什么類型的東西,這里暫且了解兩個(gè)占位符:%d――表示那個(gè)位置是整數(shù),%s――表示那個(gè)位置應(yīng)該是字符串。下面看一個(gè)具體實(shí)例:
要求打印(print)的內(nèi)容中,有一個(gè)%d占位符,就是說(shuō)那個(gè)位置應(yīng)該放一個(gè)整數(shù)。在第二個(gè)%后面,跟著的就是那個(gè)位置應(yīng)該放的東西。這里是一個(gè)整數(shù)1。我們做下面的操作,就可以更清楚了解了:
>>> a=1 >>> type(a)#a是整數(shù) >>> b="1" >>> type(b) #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 " ", line 1, in 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)單,類似與賦值一樣??梢岳斫鉃槟莻€(gè)字符串本來(lái)跟a連接著,通過(guò)b=a,a從自己手里分處一股繩子給了b,這樣兩者都可以指向那個(gè)字符串了。
字符串長(zhǎng)度
要向知道一個(gè)字符串有多少個(gè)字符,一種方法是從頭開(kāi)始,盯著屏幕數(shù)一數(shù)。哦,這不是計(jì)算機(jī)在干活,是鍵客在干活。鍵客,不是劍客。劍客是以劍為武器的俠客;而鍵客是以鍵盤為武器的俠客。當(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ù)型
字符大小寫(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)各種類型的大小寫(xiě)轉(zhuǎn)化
S.upper() #S中的字母大寫(xiě) S.lower() #S中的字母小寫(xiě) S.capitalize() #首字母大寫(xiě) S.istitle() #S是否是首字母大寫(xiě)的 S.isupper() #S中的字母是否便是大寫(xiě) S.islower() #S中的字母是否全是小寫(xiě)
看例子:
>>> a = "Hello,World" >>> a.upper() #都是大寫(xiě) 'HELLO,WORLD' >>> a.lower() #都是小寫(xiě) 'hello,world' >>> a.capitalize() #首字母大寫(xiě),其余小寫(xiě) 'Hello,wold' >>> a.istitle() #首字母是否是大寫(xiě),如果是返回True,不是返回False True >>> a 'Hello,Wold' >>> b="hellow,world" >>> b.istitle() #首字母不是大寫(xiě),返回false False >>> a.islower() #是否字符串中都是小寫(xiě),如果是返回true,不是返回false False >>> b.islower() True
字符串問(wèn)題,看來(lái)本講還不能結(jié)束。下一講繼續(xù)。有看官可能要問(wèn)了,上面這些在實(shí)戰(zhàn)中怎么用?我正想為你的,請(qǐng)鍵客設(shè)計(jì)一種實(shí)戰(zhàn)情景,能不能用上所學(xué)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
