小白學 Python(3):基礎資料型別(下)
人生苦短,我選Python
引言
前文傳送門
小白學 Python(1):開篇
小白學 Python(2):基礎資料型別(上)
前面我們介紹過了數字,本篇我們接著聊另一個常用的基礎資料型別:字串。
什麼是字串?
字串是由字元組成的一串有限序列,如: 'geekdigging' 、 "geekdigging" ,當然,符號也是可以的,如: 'https://www.geekdigging.com/' 、 "https://www.geekdigging.com/" 。
注意: '' 或者 "" 表示的是空字串,空字串和 null 是不一樣的。
字串外面的包裹可以是單引號,也可以是雙引號,需要注意的是單引號和雙引號一定是成對出現的,不可混合使用,如果你一定要混合使用的話,PyCharm 會報語法錯誤的,紅色的波浪線你看到會倍感親切。
示例如下:
print('www.geekdigging.com')
// 輸出結果:www.geekdigging.com
print("www.geekdigging.com")
// 輸出結果:www.geekdigging.com
當然,也會有混合使用的時候,如果小明說了一句話,這句話的內容中含有雙引號怎麼辦,示例如下:
print('小明說:"吃了嗎?"') // 輸出結果:小明說:"吃了嗎?"
上面的示例外部使用的是單引號,如果在外面也使用雙引號怎麼辦,會報錯的啊:
不要擔心, Python 肯定考慮到這一點了,因為 Python 識別程式是從左向右識別的,所以我們中間的一段內容 吃了嗎?
會因為沒有雙引號的包裹而導致了報錯。我們可以使用轉義符號 \
來告訴 Python 中間的雙引號並不是代表字串的符號,是我們想要列印的符號,示例程式碼如下:
print("小明說:\"吃了嗎?\"")
// 輸出結果:小明說:"吃了嗎?"
還可以使用連續三個單引號或者雙引號,它可以使得中間被包裹起來的一個字串跨多行,字串中可以包含換行符、製表符以及其他特殊字元,示例如下:
print('''
這是一個多行字串的例項
多行字串可以使用製表符
TAB ( \t )。
也可以使用換行符 [ \n ]。
''')
列印結果如圖:
轉義
從字面意思理解轉義就是轉換含義,通俗來講就是含義變了。
具體 Python 支援的轉義字元如下表:
轉義字元 | 描述 |
---|---|
(在行尾時) | 續行符 |
\ | 反斜槓符號 |
' | 單引號 |
" | 雙引號 |
\a | 響鈴 |
\b | 退格(Backspace) |
\000 | 空 |
\n | 換行 |
\v | 縱向製表符 |
\t | 橫向製表符 |
\r | 回車 |
\f | 換頁 |
\oyy | 八進位制數,yy 代表的字元,例如:\o12 代表換行,其中 o 是字母,不是數字 0。 |
\xyy | 十六進位制數,yy代表的字元,例如:\x0a代表換行 |
\other | 其它的字元以普通格式輸出 |
\n
換行:
print('I \nlike Python!')
\t
橫向製表符
print('I\tlike\tPython!')
那麼隨之而來的一個問題是,如果這個字串中真的是想列印 \t
,而並不是把它當做一個橫向製表符該怎麼辦呢?有兩種解決方案,示例如下:
print("橫向製表符:\\t")
// 輸出結果:橫向製表符:\t
print(r"橫向製表符:\t")
// 輸出結果:橫向製表符:\t
- 第一種是在轉義符號前面再加一個轉義符號
\
,負負得正。 - 第二種是在這個字串的外面加一個 r (大小寫均可)。
常用方法
獲取字串長度:
獲取字串長度 Python 為我們提供了一個 len()
的方法,示例如下:
print(len('I like Python!'))
// 輸出結果:14
print(len('I like 小明!'))
// 輸出結果:10
print(len(''))
// 輸出結果:0
print(len(' '))
// 輸出結果:1
print(len("\n"))
// 輸出結果:1
- 中文,字母,數字,符號都是佔一個長度。
- 字串中的空格也是佔長度的。
- 空字串的長度為0
字串拼接
字串拼接可以使用符號 +
,示例如下:
a = "Hello"
b = "Python"
print("a + b 輸出結果:", a + " " + b)
// a + b 輸出結果: Hello Python
重複輸出字串
字串拼接可以使用符號 *
,示例如下:
print("a * 2 輸出結果:", a * 2)
// a * 2 輸出結果: HelloHello
通過索引獲取字串中字元
如果把字串中的每個字元看做在排隊的話,那麼索引就是這個字元的位置,第一個字元的索引為 0 ,示例如下:
print("a[1] 輸出結果:", a[1])
// a[1] 輸出結果: e
擷取字串
在 Java 中,擷取字串給了一個方法是 substring
,而在 Python 中則直接使用 [:]
這個表示式即可,遵循左閉右開原則,示例如下:
print("a[1:4] 輸出結果:", a[1:4])
// a[1:4] 輸出結果: ell
包含
成員運算子 in
可以判斷一個字串種是否包含指定的字串,並返回 true 或者 false 布林值。示例如下:
if "H" in a:
print("H 在變數 a 中")
else:
print("H 不在變數 a 中")
// H 在變數 a 中
不包含
既然有了包含那一定就會有不包含,不包含的成員運算子是 not in
,返回同樣是布林值。示例如下:
if "M" not in a:
print("M 不在變數 a 中")
else:
print("M 在變數 a 中")
// M 不在變數 a 中
示例程式碼
本系列的所有程式碼小編都會放在程式碼管理倉庫 Github 和 Gitee 上,方便大家取用。
示例程式碼-Github
示例程式碼-Gi