字符串類型

字符串類型是編程語言里非常重要的數據類型,因為幾乎所有的程序主要做的事情就是處理字符串,這個隨著大家的學習會有深入的體會。

成都創新互聯公司專注于企業成都營銷網站建設、網站重做改版、庫車網站定制設計、自適應品牌網站建設、html5成都做商城網站、集團公司官網建設、成都外貿網站建設、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為庫車等各大城市提供網站開發制作服務。

字符串的定義

python中字符串(str)是使用單引號,雙引號,三引號包裹起來的字符的序列,用來表示文本信息。

>>> a = 'a'		# 單引號
>>> b = "bc"	# 雙引號
>>> print(type(a), type(b))
<class 'str'> <class 'str'>

使用單引號和雙引號進行字符串定義沒有任何區別。

當單引號是字符串的一部分時用雙引號定義字符串,反之亦然。

但個人建議一般情況下使用單引號定義字符串,因為不需要按shift鍵,方便。當然用雙引號也沒有什么不好,但盡量保持一致。

>>> print('我最近看了"平凡的世界"')
我最近看了"平凡的世界"
>>> print("我最近看了'平凡的世界'")
我最近看了'平凡的世界'

一對單引號或雙引號只能定義單行字符串,三引號可以用來創建多行表示的字符串。

>>> content = '''窗前明月光,疑是地上霜;
舉頭望明月,低頭思故鄉。'''
>>> print(content)
窗前明月光,疑是地上霜;
舉頭望明月,低頭思故鄉。

三單引號和三雙引號也沒有本質區別。三雙引號一般用來做多行注釋,函數,類定義時的說明文檔。

"""
我是多行注釋
函數,類定義的說明文檔
后面我們再說
"""

字符串還有一個很重要的概念空字符串,表示字符串中沒有任何字符,定義如下:

>>> a = ''
>>> print(a)

直接寫兩個引號,中間沒有空格,打印時沒有任何顯示。空字符串的概念非常重要,用來表示文本輸出為空。

字符串的索引

序列類型中的元素都用索引來表示它在序列中的位置。

單個字符在字符串中的位置叫索引,也叫下標

索引是從0開始的整數序列,0表示字符串的第一個位置,以此類推。

通過索引可以獲取字符串中的單個字符,語法如下:

str[index]
>>> s = 'Hello,world!'
>>> print(s[0])
H

索引還可以使用負數表示,-1表示倒數第一個字符,-2表示倒數第二個字符,以此類推。

>>> s = 'Hello,world!'
>>> print(s[-1])
!
>>> print(s[-2])
d

字符串的切片

獲取序列中的子序列叫切片。

字符串的切片就是獲取字符串的子串。字符串切片的語法如下:

str[start:end:step]
  • start表示切片的開始索引,在切片的結果中包含開始索引的字符
  • end表示結束索引,在切片的結果中不包含結束索引的字符
  • step是步長,表示每隔幾個字符切片,當步長為1是可以省略。

看下面的案例:

>>> s = '0'
>>> print(s[1:5])   # 包頭不包尾
1234

從頭開始切片可以省略start

>>> print(s[:5])
01234

切到末尾包含末尾可以省略end

>>> print(s[1:])

當步長不為1時

>>> print(s[1::2])

特別的,當步長為負數時,表示反向切片,切片會從后往前進行,例如:

>>> print(s[1::-1])
10
>>> print(s[9::-1])

字符串拼接

python中序列可以進行加法運算實現拼接。所以字符串可以通過+進行拼接:

>>> a = 'hello'
>>> b = ' '
>>> c = 'world!'
>>> print(a+b+c)
hello world!

既然可以加法運算,那么一般也可以和整數進行乘法運算,實現重復拼接的效果:

>>> print('*' * 10)
**********

字符串和數值的相互轉化

1'1'不同,1.2'1.2'也不相同,但是它們可以相互轉化。

整數和字符串之間的轉化

>>> int('1')	# 整數字符串轉化為整數
1
>>> str(1)		# 整數轉化為字符串
'1'

浮點數和字符串之間的轉化

>>> float('1.2')
1.2
>>> str(1.2)
'1.2'

將數值字符串轉化為對應的數值類型時,格式一定要正確,否則會拋出異常

>>> int('1.2')   # '1.2'不是整數字符串運行會拋出異常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1.2'

注意:如果你用print函數打印整數和整數字符串輸出形式是一樣的。

>>> print(1)
1
>>> print('1')
1

轉義符

除了可見字符外,還有很多不可見的特殊字符,例如回車,換行,制表符等。這些字符是通過反斜杠\和其他字符組合來表示,稱為轉義,所以\也稱為轉義符。常見的轉義字符如下表:

組合 符號
\\ 反斜杠符號
\' 單引號
\" 雙引號
\a 響鈴
\n 換行
\t 橫向制表符
\r 回車
\f 換頁
>>> print('窗前明月光,\n疑是地上霜。')  # 輸出換行
窗前明月光,
疑是地上霜。
>>> print('\'')      # 輸出單引號本身
'

其他的轉義字符大家可以自行練習。

可以通過前導符r,強制不轉義將字符串原樣輸出:

>>> print(r'窗前明月光,\n疑是地上霜。')  # 不轉義
窗前明月光,\n疑是地上霜。
再給大家分享一個學習小技巧,我以前分不清正斜杠和反斜杠。直到有一天,撇`/`就是正,捺`\`就是反。
是不是秒記。
嘿嘿,不用謝!

網頁標題:字符串類型
URL網址:http://m.kartarina.com/article30/dsogiso.html

成都網站建設公司_創新互聯,為您提供軟件開發網站建設網站排名網站導航企業網站制作動態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化
主站蜘蛛池模板: 日韩国产精品无码一区二区三区| 日韩放荡少妇无码视频| 无码国产精品一区二区免费式直播| 无码区国产区在线播放| 无码精品A∨在线观看无广告| 亚洲成AV人在线观看天堂无码| 亚洲AV无码一区二区乱子仑| 亚洲中文无码av永久| 亚洲av无码一区二区三区网站 | 国产精品亚洲专区无码牛牛| 久久99久久无码毛片一区二区| 无码一区18禁3D| 亚洲AV永久青草无码精品| 亚洲熟妇无码av另类vr影视 | 亚洲av永久无码精品古装片| 好爽毛片一区二区三区四无码三飞| 中文字幕丰满伦子无码| av无码东京热亚洲男人的天堂| 亚洲AV无码一区二区乱子伦| 国产精品成人一区无码| 免费无遮挡无码永久在线观看视频 | 中日韩精品无码一区二区三区| 亚洲综合最新无码专区| 国产精品无码亚洲精品2021| 亚洲欧洲无码一区二区三区| 国产V亚洲V天堂无码| 国产午夜无码专区喷水| 中文字幕无码不卡在线 | 亚洲熟妇无码一区二区三区 | 国产品无码一区二区三区在线| 小13箩利洗澡无码视频网站 | 亚洲精品无码乱码成人| 亚洲AV区无码字幕中文色| 亚洲不卡无码av中文字幕| 无码国产精成人午夜视频不卡| 精品一区二区三区无码免费视频| 亚洲精品无码mv在线观看网站| 中文字幕人妻无码系列第三区| 国产99久久九九精品无码| 国产av永久精品无码| 久久精品无码一区二区日韩AV |