新聞中心
字符串類型是編程語言里非常重要的數(shù)據(jù)類型,因?yàn)閹缀跛械某绦蛑饕龅氖虑榫褪翘幚碜址?,這個(gè)隨著大家的學(xué)習(xí)會(huì)有深入的體會(huì)。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、庫車網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為庫車等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
字符串的定義
python中字符串(str)是使用單引號,雙引號,三引號包裹起來的字符的序列,用來表示文本信息。
>>> a = 'a' # 單引號
>>> b = "bc" # 雙引號
>>> print(type(a), type(b))
使用單引號和雙引號進(jìn)行字符串定義沒有任何區(qū)別。
當(dāng)單引號是字符串的一部分時(shí)用雙引號定義字符串,反之亦然。
但個(gè)人建議一般情況下使用單引號定義字符串,因?yàn)椴恍枰?code>shift鍵,方便。當(dāng)然用雙引號也沒有什么不好,但盡量保持一致。
>>> print('我最近看了"平凡的世界"')
我最近看了"平凡的世界"
>>> print("我最近看了'平凡的世界'")
我最近看了'平凡的世界'
一對單引號或雙引號只能定義單行字符串,三引號可以用來創(chuàng)建多行表示的字符串。
>>> content = '''窗前明月光,疑是地上霜;
舉頭望明月,低頭思故鄉(xiāng)。'''
>>> print(content)
窗前明月光,疑是地上霜;
舉頭望明月,低頭思故鄉(xiāng)。
三單引號和三雙引號也沒有本質(zhì)區(qū)別。三雙引號一般用來做多行注釋,函數(shù),類定義時(shí)的說明文檔。
"""
我是多行注釋
函數(shù),類定義的說明文檔
后面我們再說
"""
字符串還有一個(gè)很重要的概念空字符串,表示字符串中沒有任何字符,定義如下:
>>> a = ''
>>> print(a)
直接寫兩個(gè)引號,中間沒有空格,打印時(shí)沒有任何顯示??兆址母拍罘浅V匾?,用來表示文本輸出為空。
字符串的索引
序列類型中的元素都用索引來表示它在序列中的位置。
單個(gè)字符在字符串中的位置叫索引,也叫下標(biāo)。
索引是從0開始的整數(shù)序列,0表示字符串的第一個(gè)位置,以此類推。
通過索引可以獲取字符串中的單個(gè)字符,語法如下:
str[index]
>>> s = 'Hello,world!'
>>> print(s[0])
H
索引還可以使用負(fù)數(shù)表示,-1表示倒數(shù)第一個(gè)字符,-2表示倒數(shù)第二個(gè)字符,以此類推。
>>> s = 'Hello,world!'
>>> print(s[-1])
!
>>> print(s[-2])
d
字符串的切片
獲取序列中的子序列叫切片。
字符串的切片就是獲取字符串的子串。字符串切片的語法如下:
str[start:end:step]
start表示切片的開始索引,在切片的結(jié)果中包含開始索引的字符end表示結(jié)束索引,在切片的結(jié)果中不包含結(jié)束索引的字符step是步長,表示每隔幾個(gè)字符切片,當(dāng)步長為1是可以省略。
看下面的案例:
>>> s = '0'
>>> print(s[1:5]) # 包頭不包尾
1234
從頭開始切片可以省略start
>>> print(s[:5])
01234
切到末尾包含末尾可以省略end
>>> print(s[1:])
當(dāng)步長不為1時(shí)
>>> print(s[1::2])
特別的,當(dāng)步長為負(fù)數(shù)時(shí),表示反向切片,切片會(huì)從后往前進(jìn)行,例如:
>>> print(s[1::-1])
10
>>> print(s[9::-1])
字符串拼接
python中序列可以進(jìn)行加法運(yùn)算實(shí)現(xiàn)拼接。所以字符串可以通過+進(jìn)行拼接:
>>> a = 'hello'
>>> b = ' '
>>> c = 'world!'
>>> print(a+b+c)
hello world!
既然可以加法運(yùn)算,那么一般也可以和整數(shù)進(jìn)行乘法運(yùn)算,實(shí)現(xiàn)重復(fù)拼接的效果:
>>> print('*' * 10)
**********
字符串和數(shù)值的相互轉(zhuǎn)化
1和'1'不同,1.2和'1.2'也不相同,但是它們可以相互轉(zhuǎn)化。
整數(shù)和字符串之間的轉(zhuǎn)化
>>> int('1') # 整數(shù)字符串轉(zhuǎn)化為整數(shù)
1
>>> str(1) # 整數(shù)轉(zhuǎn)化為字符串
'1'
浮點(diǎn)數(shù)和字符串之間的轉(zhuǎn)化
>>> float('1.2')
1.2
>>> str(1.2)
'1.2'
將數(shù)值字符串轉(zhuǎn)化為對應(yīng)的數(shù)值類型時(shí),格式一定要正確,否則會(huì)拋出異常
>>> int('1.2') # '1.2'不是整數(shù)字符串運(yùn)行會(huì)拋出異常
Traceback (most recent call last):
File "", line 1, in
ValueError: invalid literal for int() with base 10: '1.2'
注意:如果你用print函數(shù)打印整數(shù)和整數(shù)字符串輸出形式是一樣的。
>>> print(1)
1
>>> print('1')
1
轉(zhuǎn)義符
除了可見字符外,還有很多不可見的特殊字符,例如回車,換行,制表符等。這些字符是通過反斜杠\和其他字符組合來表示,稱為轉(zhuǎn)義,所以\也稱為轉(zhuǎn)義符。常見的轉(zhuǎn)義字符如下表:
| 組合 | 符號 |
|---|---|
\\ |
反斜杠符號 |
\' |
單引號 |
\" |
雙引號 |
| \a | 響鈴 |
| \n | 換行 |
| \t | 橫向制表符 |
| \r | 回車 |
| \f | 換頁 |
>>> print('窗前明月光,\n疑是地上霜。') # 輸出換行
窗前明月光,
疑是地上霜。
>>> print('\'') # 輸出單引號本身
'
其他的轉(zhuǎn)義字符大家可以自行練習(xí)。
可以通過前導(dǎo)符r,強(qiáng)制不轉(zhuǎn)義將字符串原樣輸出:
>>> print(r'窗前明月光,\n疑是地上霜。') # 不轉(zhuǎn)義
窗前明月光,\n疑是地上霜。
再給大家分享一個(gè)學(xué)習(xí)小技巧,我以前分不清正斜杠和反斜杠。直到有一天,撇`/`就是正,捺`\`就是反。
是不是秒記。
嘿嘿,不用謝!
當(dāng)前文章:字符串類型
文章鏈接:http://www.dlmjj.cn/article/dsogiso.html


咨詢
建站咨詢
