人生苦短,我選Python
引言
前文傳送門
前面我們介紹過了數字,本篇我們接着聊另一個常用的基礎數據類型:字符串。
什么是字符串?
字符串是由字符組成的一串有限序列,如: '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 上,方便大家取用。