小白學 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

示例代碼-Gitee


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM