立即學習:https://edu.csdn.net/course/play/24797/282155?utm_source=blogtoedu
——字符串入門
★本節目標
- 字符串的基礎用法
- 字符串拼接 (重點)
- 長字符串與原始字符串 (重點)
- 字節串與字符串 (重點、難點)
★字符串的基礎用法
- 列字符串的內容幾乎可以包含任何字符,英文字符也行,中文字符。
- 既可以單引號,也可用雙引號。
★字符串包含引號
- 若字符串包含了單引號或雙引號,可採用以下處理:
- 使用不同的引號將字符串括起來。
- 對引號進行轉義。
#用不同的引號
s1 = "hello' Python"
print(s1)
##用反斜槓轉義
s2 = 'hello\' Python'
print(s2)
★字符串拼接
- 將兩個字符串挨着寫在一起,Python就會自動拼接。
- 使用+拼接兩個字符串。
- 數值必須先用str()或者repr()函數轉換。
- repr()會以Python表達式的形式來表示值。
s1 = 'hello'
s2 = " Python"
#+可以作爲連接運算符
s3 = s1 + s2
print(s3)
iv1 = 23
iv2 = 3.4
#數值要連接之前,先必須轉換
s4 = s1 + str(iv1)
print(s4)
s5 = s2 + repr(iv2)
print(s5)
s6 = "Python"
print(str(s6))
print(repr(s6)) # 'Python'
★獲取用戶輸入
- input()向用戶生成一條提示,然後獲取用戶的輸入內容。
- Python 2.x的raw_input()相當於Python 3.x中的input()。
- Python 2.x的input()函數則比較怪異。
#input生成提示,獲取用戶輸入,用戶輸入被賦值給變量
s = input("請輸入:")
print(s)
★長字符串
- 長字符串使用三個引號(單引號、雙引號都行)括起來。
- Python還允許使用轉義字符(\)對換行符轉義,這樣也可定義長字符串。
longstr = '''haha
你在幹什麼?
我在寫代碼!
'''
print(longstr)
longstr2 = 'haha\n你在幹什麼?\n我在寫代碼!'
print(longstr2)
★原始字符串
- 原始字符串以r開頭,原始字符串不會把反斜線當成特殊字符。
- 如果原始字符串中包含引號,程序同樣需要對引號進行轉義(否則Python同樣無法對字符串的引號精確配對)。
#原始字符串,裏面特殊的字符失效
rs = r'我在學Python\n你在做什麼?'
print(rs)
rs = r'我在學Python\'你在做什麼?'
print(rs2)
★字節串
- 字符串(str)由多個字符組成;字節串(bytes)由多個字節串組成。
- bytes和str除了操作的數據單元不同之外,它們所有支持的方法都基本相同,bytes也是不可變序列。
★字符串和字節串轉換
◎ 將字符串轉換成bytes對象,可以有如下3中方式:
- 如果字符串內容都是ASCII字符,可以通過直接在字符串之前添加b前綴來構建字節串值。
- 調用bytes()函數(其實是bytes的構造方法)將字符串按指定字符串轉換成字節串,默認使用UTF-8字符集。
- 調用字符串本身的encode()方法將字符串按指定字符集轉成字節串,默認使用UTF-8字符集。
◎ 調用bytes對象的decode()方法將bytes對象解碼成字符串。
#將字符串轉換成字節串
b1 = b'abc'
print(b)
b2 = "我愛你".encode()
print(b2)
print(type(b2))
b3 = bytes("我愛你" , "UTF-8")
print(b3)
print(type(b3))
#字節串轉換成字符串
b4 = b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'
print(b4.decode("UTF-8"))
★本節小結
- 字符串與字符串拼接,repr函數
- 獲取用戶輸入
- 長字符串與原始字符串
- 字節串與字符串轉換