在Python 使用變數(shù)章節(jié)中,我們使用了 input
函式來讀取使用者的輸入,而 input
函式可以傳入一個(gè) 字串 作為顯示在屏幕上的提示訊息。字串資料可以是以單引號(hào)(')或雙引號(hào)(")包起來的 文字資料 ,相對(duì)于數(shù)值資料,字串就是用來表示文字的資料。
字串資料也可以儲(chǔ)存于變數(shù)中:
x = 'Hello, world'
print x
在 Python 中,使用單引號(hào)('
)或雙引號(hào)("
)包起來的資料都是字串。然而,以單引號(hào)包起來的字串,如果在字串資料中遇到單引號(hào)時(shí),則必須以 \
來跳脫(escape)處理,避免被誤認(rèn)為字串結(jié)束。
x = 'I\'m Eric.'
print x
這段程式碼就會(huì)正確地印出 "I'm Eric.
",以此類推,若是在雙引號(hào)包起來的字串,碰到雙引號(hào)時(shí)也必須以 \
跳脫。也因?yàn)?nbsp;\
被用來作為跳脫字元處理,所以若是字串中有 \
字元時(shí),就需要再用一個(gè) \
跳脫:
file_path = 'C:\\Documents and Settings\\ericsk\\test.dat'
print file_path
這段程式碼就會(huì)印出「C:\Documents and Settings\ericsk\test.dat
」。如果不想將 \
作為跳脫字元使用,可以在字串前加上 r
前置字元,上面的程式碼就可以改成:
file_path = r'C:\Documents and Settings\ericsk\test.dat'
print file_path
效果也是一樣。
字串資料也支援下列幾種運(yùn)算方式:
兩個(gè)字串資料作相加(+
)的運(yùn)算,代表將兩個(gè)字串資料串接起來:
x = 'Hello, '
y = 'World'
print x+y
這段程式碼會(huì)印出 Hello, World
字串資料可以與整數(shù)進(jìn)行 *
的運(yùn)算,這表示要將字串重復(fù)幾次:
x = 'Cat'
print x * 3
這樣屏幕會(huì)輸出 CatCatCat
想要取出字串部份的內(nèi)容,不管是單一字元,或是一段范圍的字串,可以使用 []
運(yùn)算子來操作:
x = 'Hello, World.'
print x[7]
print hello[0:6]
這段程式碼會(huì)分別在屏幕上印出 "W
" 及 "Hello,
"。字串的索引位置是*從 0 開始,所以 x[7]
表示要取出 x
這個(gè)字串的*第8個(gè)字元,也就是 W
;而取范圍時(shí)只需要設(shè)定左邊界及右邊界,要注意的是,字串只會(huì)取至右邊界前一個(gè)字元,并不包含右邊界,于是 [0:6]
就是從第 1 個(gè)字元取到第 6 個(gè)字元,并不會(huì)包含 x[6]
。
[]
運(yùn)算子的索引也可以使用負(fù)整數(shù),也就是從字串最右邊開始算索引:
x = 'Hello, World.'
print x[-2]
print x[4:-3]
則會(huì)印出 "d
" 及 "o, Wor
"。
如果要計(jì)算字串的長(zhǎng)度,直接使用 len()
函式就可以了。
x = 'Hello, World.'
print len(x)
就會(huì)在屏幕上印出 13
。
在 Python 2.x 版里,字串預(yù)設(shè)是以 ASCII 編碼儲(chǔ)存,如果要以 unicode 編碼來儲(chǔ)存字串,只需要在字串前面加上一個(gè) u
作為前置字串:
x = u'Hi,\u0020Eric'
print x
這就會(huì)印出 "Hi, Eric
"
Python 3 之后,字串預(yù)設(shè)都是以 unicode 儲(chǔ)存
\n
, \t
有什么效果。u'Hi,\u0020Eric'
的字串長(zhǎng)度為何?那 'Hi\nEric'
呢?在取出部份字串時(shí),我們使用了 []
運(yùn)算子來操作,這是把字串當(dāng)作「一串文字」來看待,所以可以用索引的方式取出字串。在 Python 中有一個(gè)基本處理資料的結(jié)構(gòu)--List,可以處理排列在一起的數(shù)值或文字資料,在下一章節(jié)中將會(huì)介紹如何使用 Python 中的 List 及 Tuple。
更多建議: