前言
字串是程式設計中最重要的資料型別,也是最常見的
字串的表示方式
- 單引號 ' '
- 雙引號 " "
- 多引號 """ """" 、 ''' '''
print("hello world") print('hello world') print("""hello world""") # 輸出結果 hello world hello world hello world
為什麼需要單引號,又需要雙引號
因為可以在單引號中包含雙引號,或者在雙引號中包含單引號
# 單雙引號 print("hello 'poloyy' world") print('this is my name "poloyy"') # 輸出結果 hello 'poloyy' world this is my name "poloyy"
多行字串
正常情況下,單引號和雙引號的字串是不支援直接在符號間換行輸入的,如果有需要可以用多引號哦!
# 多行字串 print(""" hello world """) print(""" this is my name poloyy """) # 輸出結果 hello world this is my name poloyy
轉義符
在字元前加 \ 就行
常見的有
- \n:換行
- \t:縮排
- \r:回車
栗子
比如在字串雙引號間還有一個雙引號,就需要用轉義符
# 轉義符 print("hello \"poloyy\" world") print('my name is \'poloyy\'') # 輸出結果 hello "poloyy" world my name is 'poloyy'
假設 \ 只想當普通字元處理呢?
print("反斜槓 \\ 是什麼") print("換行符是什麼 \\n") # 輸出結果 反斜槓 \ 是什麼 換行符是什麼 \n
window 路徑的栗子
print("c:\nothing\rtype") print("c:\\nothing\\rtype") # 輸出結果 c:\nothing\ c: type c:\nothing\rtype
更簡潔的解決方法
用轉義符會導致可讀性、維護性變差,Python 提供了一個更好的解決方法:在字串前加 r
print(r"c:\nothing\rtype") # 輸出結果 c:\nothing\rtype
關於更多 r"" 的講解請看:https://www.cnblogs.com/poloyy/p/12444579.html
字串運算:下標和切片
獲取字串中某個字元
字串是一個序列,所以可以通過下標來獲取某個字元
# 獲取字串某個字元 str = "hello world" print(str[0]) print(str[1]) print(str[6]) print(str[-1]) print(str[-5]) # 輸出結果 h e w d l
如果是負數,那麼是倒數,比如 -1 就是倒數第一個元素,-5 就是倒數第五個元素
獲取字串中一段字元
Python 中,可以直接通過切片的方式取一段字元
切片的語法格式
str[start : end : step]
- start:閉區間,包含該下標的字元,第一個字元是 0
- end:開區間,不包含該下標的字元
- step:步長
栗子
print("hello world'[:] ", 'hello world'[:]) # 取全部字元 print("hello world'[0:] ", 'hello world'[0:]) # 取全部字元 print("hello world'[6:] ", 'hello world'[6:]) # 取第 7 個字元到最後一個字元 print("hello world'[-5:] ", 'hello world'[-5:]) # 取倒數第 5 個字元到最後一個字元 print("hello world'[0:5] ", 'hello world'[0:5]) # 取第 1 個字元到第 5 個字元 print("hello world'[0:-5] ", 'hello world'[0:-5]) # 取第 1 個字元直到倒數第 6 個字元 print("hello world'[6:10] ", 'hello world'[6:10]) # 取第 7 個字元到第 10 個字元 print("hello world'[6:-1] ", 'hello world'[6:-1]) # 取第 7 個字元到倒數第 2 個字元 print("hello world'[-5:-1] ", 'hello world'[-5:-1]) # 取倒數第 5 個字元到倒數第 2 個字元 print("hello world'[::-1] ", 'hello world'[::-1]) # 倒序取所有字元 print("hello world'[::2] ", 'hello world'[::2]) # 步長=2,每兩個字元取一次 print("hello world'[1:7:2] ", 'hello world'[1:7:2]) # 步長=2,取第 2 個字元到第 7 個字元,每兩個字元取一次 # 輸出結果 hello world'[:] hello world hello world'[0:] hello world hello world'[6:] world hello world'[-5:] world hello world'[0:5] hello hello world'[0:-5] hello hello world'[6:10] worl hello world'[6:-1] worl hello world'[-5:-1] worl hello world'[::-1] dlrow olleh hello world'[::2] hlowrd hello world'[1:7:2] el
字串的函式
Python 提供了很多內建的字串函式,具體可看
https://www.cnblogs.com/poloyy/p/12523095.html