1. 程式人生 > >4.3Python資料型別(3)之字串型別

4.3Python資料型別(3)之字串型別

返回總目錄

目錄:

1.字串的概念

2.字串的形式

3.字串的轉義符

4.字串一般操作

5.字串函式操作

(一)字串的概念

由單個字元組成的一個集合

(二)字串的形式

雙引號與單引號的效果一樣:
(1)使用單引號包含的
'abc'
(2)使用雙引號包含的
"abc"
(3)使用3個單引號
''' abc '''
(4)使用3個雙引號
""" abc """

# 字串與註釋
str1 = '單引號'
str2 = "雙引號"
str3 = '''三個單引號'''
str4 = """三個雙引號"""
print(str1)
print(str2)
print(str3)
print(str4)
'單引號也可以註釋'
"雙引號也可以註釋"
'''三個單引號也可以註釋'''
"""三個雙引號也可以註釋"""
-----------------輸出-----------------
單引號
雙引號
三個單引號
三個雙引號

規律:其實不管是單引號還是雙引號,還是三個單引號,還是三個雙引號,他們都可以來處理字串,而他們註釋的原理的本質上就是沒有把字串賦值給變數,所以也沒有什麼用,就相當於註釋了。

(三)字串的轉義符

(1)轉義字元

通過轉換某個指定的字元, 使它具備特殊的含義
\(在行尾時) 續行符
\' 單引號
\" 雙引號
\n 換行
\t 橫向製表符

# 轉義字元
name = "s" \
"Z123"
print(name)  # \續行符
print("12345645\\n")  # \\-->\
print("單引號\'")  # \'-->'
print("雙引號\"")  # \"-->"
-------------------輸出--------------------------
sZ123
12345645\n
單引號'
雙引號"

(2)取消轉義字元

想要使轉義字元不起作用時,可以在字串前夾r

例如:使用單引號包含的
r'abc'
使用雙引號包含的
r"abc"
使用3個單引號
r''' abc '''
使用3個雙引號
r""" abc """

# 取消轉義字元
print(r"12345645\\n")  # \\-->沒有效果
print(r"單引號\'")  # \'-->沒有效果
print(r"雙引號\"")  # \"-->沒有效果
----------------輸出--------------------
12345645\\n
單引號\'
雙引號\"

(3)字串的跨行書寫:

(1)用\連線符
(2)用圓括號
(3)用三個單引號或者三個雙引號

# 字串的跨行書寫:
str1 = "dfdf" \
       "dfdf"   # 用\連線符
str2 = ("fdjfjd"
        "kfjdk")  # 用圓括號
str3 = """dfdfdf
sfdfdfdg    
"""  # 用三個單引號或者三個雙引號
print("用\連線符:", str1)
print("用圓括號:", str2)
print("用三個單引號或者三個雙引號:", str3)
--------------輸出--------------------
用\連線符: dfdfdfdf
用圓括號: fdjfjdkfjdk
用三個單引號或者三個雙引號: dfdfdf
sfdfdfdg    

(四)字串一般操作

(1)字串的拼接:

1.+ 號連線
2.無符號單行連線
3.格式化連線
4.倍數連線

# 字元的連線
print("+ 號連線", "xxxxx" + "yyyyyy")
print("無符號單行連線", "xxxxxx""yyyyyy")
print("格式化連線", "xxxx%s"%("yyyyyyyy"))
print("倍數連線", "xxxxx" * 3)
---------------------輸出---------------
+ 號連線 xxxxxyyyyyy
無符號單行連線 xxxxxxyyyyyy
格式化連線 xxxxyyyyyyyy
倍數連線 xxxxxxxxxxxxxxx

(2)字串的切片:

1.單個字元的切片:string[下標]
2.字元片段的切片:string[ 起始下標 : 結束下標 : 步長 ]
注:字元片段不包括結束字元,步長是用於跳著選擇字元。
冒號左右兩邊沒有數值時,預設分別對應是0,-1,1

# 字元的切片:
name = "社會我俊哥,人狠話不多"
# 字串的索引是從0開始
print("name[0]", name[0])  # 第1個字元
print("name[1:4]", name[1:4])  # 第2字元到第4個字元,不包括第5個字元
print("name[::2]", name[::2])  # 步長為2的,跳字元。
print("name[-1]", name[-1])  # 倒數第1個字元
print("name[:5]", name[:5])  # 第1個字元到第6個
print("name[5:]", name[5:])  # 第6個字元到結束
print("name[:]", name[:])  # 全部字元
print("name[3:-3]", name[3:-3])   # 第4個字元到倒數第3個
print("name[::-1]", name[::-1])   # 字元倒序,反轉字串
---------------------輸出----------------------------
name[0] 社
name[1:4] 會我俊
name[::2] 社我哥人話多
name[-1] 多
name[:5] 社會我俊哥
name[5:] ,人狠話不多
name[:] 社會我俊哥,人狠話不多
name[3:-3] 俊哥,人狠
name[::-1] 多不話狠人,哥俊我會社

本小節結束!

返回總目錄

我是張一根,一個機械專業的大學生,一個在讀本科的計算機愛好者,期盼和你一起交流計算機的知識,讓我們在這個大時代裡一起進步。