Python學習筆記二(String字串操作)

來源:互聯網
上載者:User

Python中String類型的用法。這一部分我主要是整理一些思路。網上已經有很多朋友分享了Python中String類型的用法。

String的表現形式
1:    'me'單引號
2:    "me"雙引號 前面兩種方式的配合,很有Javascript中的感覺。這樣寫的確是方便很多。在底層Python編譯器會統一成單引號
3:    '''me'''三引號,這個一般用來寫多行文本。__doc__使用這個。讓我更直接的相對的就是在代碼中拼接HTML代碼可以用到。
4:    r"messs",在字串前面添加一個r,raw的縮寫,就是原生字元(關掉字串中的轉義)。這個在寫r“C:\windows\system32”路徑的時候使用,在print顯示的時候也可以使用到。Python中還有一個函數有一樣的功能rept()。
5:    u"Python文法String的操作",指明這是一個unicode字元,知道是為國際化或解決編碼問題的,但目前沒具體在什麼地方用。碰到過編碼問題,但也沒通過這個方式解決,還希望看客給個實際運用的情境,好理解一些。

相關的逸出字元的內容

String的類型轉換
基本上通過str(),就可以轉化大多數的object了。具體轉換的形式其實由類的__str()__這個函數決定的。所以自己寫的函數最後實現一下這個方法,方便str()的調用。

String是一個序列
String是一個序列,而且是一個不可變(Immutable)。既然String是一個序列,很自然的就相到可以使用Slice。S[0:3]這種方式,
有幾個特別的地方說明一下
1:S[:] 其實就是一個新的字元拷貝,感覺沒什麼用,因為 string類型的=賦值本身就是一個拷貝的過程,這個應該也只是一個淺拷貝
2:S[1:9:2] 這個是感覺很奇怪的東西,其實2這裡是步長的意思。
3:S[::-1] 這個可以將一個字元反轉。就是"abc"變成"cba",但這樣其實是有問題的,如果你用的是中文,根本沒辦法反。反了就成亂碼啦。
字串直接可以同"+"的方式來串連,這個也好理解

String中的String.Empty很特殊
這裡借用了C#中的String.Empty這個常量。Python其實就是一個""Null 字元串,但這個和C#中的很多意義不同了
比如一個字串為 name=“abc”。 調用函數的相應結果
name='abc'
print name.count('') #-->4
print '' in name     #-->True
print name.index('') #-->0
print name.find('')  #-->0

String可以使用for 和 in
因為是一個序列,所以可以使用for-in,但同時in還可以單獨使用

if "abc" in str:
print "yes"

String的格式化輸出
我一般用到的都比較簡單,
print "%s %d" %('2',1)
如果大家有興趣可以去看最下面的參考一文。

String的方法

網上很多,我這裡就直接轉連結 《Python 常用字串操作》

String的模板方法
用過C#的都知道,C#的文法中有String.Format("ssss{0}sss{1}",1,3)這種替換的方式。在Python中我就試圖尋找類似的方式。(*^__^*)Python也是有的。直接複製例子:
>>> from string import Template
>>> s = Template('$who likes $what')
>>> s.substitute(who='tim', what='kung pao')
'tim likes kung pao'

 

參考:

http://www.telitchina.com/www/12/2007-07/35.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.