2. 基礎運算與型別 - 字串
字串定義
字串處理, 對 python 來說是很簡單的事情
>>> "var"
'var'
>>> 'var'
'var'
從上面的例子中可以看到, 只要將一串字用一個雙引號
"
或是單引號'
包起來, python 就將它視為字串兩種方式都通用的目的是為了讓我們能快速地在單引號內使用雙引號, 反之亦然
>>> "I'm"
"I'm"
>>> 'This is "string"'
'This is "string"'
另外還有一種方式就是三引號 """
或 '''
, 這件事情並不常發生, 通常用來建立多行字串時才會出現
>>> '''Line 1
... Line 2
... Line 3
... Line 4'''
'Line 1\nLine 2\nLine 3\nLine 4'
跳脫字元
我們可以看到
\n
出現在輸出的字串中, 這種字元在程式語言中我們稱為換行字元
因為大部分的情況, 我們不會有直接定義那麼多行字串的時候,
所以通常還是會使用一個引號的定義方式, 當換行時, 直接打上 \n
來表示這裡該換行了
>>> 'Line 1\nLine 2\nLine 3\nLine 4'
'Line 1\nLine 2\nLine 3\nLine 4'
通常有部分程式語言將
\
稱為跳脫字元(escape)
當字串遇到\
時, 後面接的字元就會有特別的意義, 例如換行字元\n
, 又或者是字串想要印出\
以及 '
這些原本有意義的字元時使用
>>> "this\'s\nstring"
'this's\nstring
串接字串
字串常用的應用就是串接
>>> "abc" + "def"
'abcdef'
字串擷取
擷取字串的使用, []
運算符號來快速的擷取字串, 從範例中可以了解到
當我們
[]
中需要填一個數值代表擷取字串的位置(index), 也可以填負值代表從後面開始倒數而在大部分的程式語言, index 都是從 0 開始
>>> "abcd"[0]
'a'
>>> "abcd"[3]
'd'
>>> "abcd"[-1]
'd'
>>> "abcd"[-2]
'c'
以上是大部分的程式語言都有的功能, 不過 python 這裡另外有定義了方便的寫法
string[開始:結束:間隔]
開始與結束假設不填值, 則直接用最前面與最後面表示
間隔假設不填值, 則代表間隔為1, 填負值為倒數來計算間隔
下面提供了範例
>>> "abcd"[::]
'abcd'
>>> "abcd"[1:]
'bcd'
>>> "abcd"[:2]
'abc'
>>> "abcd"[:-2]
'abc'
>>> "abcd"[::2]
'ac'
>>> "abcd"[::3]
'ad'
>>> "abcd"[::-1]
'dcba'
>>> "abcd"[::-2]
'db'
字串串接
我們可以將多個字串串再一起, 只要使用到我們前面提到的+
號
>>> "abc" + "de"
'abcde'
重複字串
python 也有*
的使用, 很直覺的就是重複幾次字串
>>> "abcd" * 3
'abcdabcdabcd'
其他常見應用
接者, 這裡介紹幾個常用的應用
字串轉型
>>> str(123.4)
'123.4'
str()
, 這種有函示名稱帶()
的東西叫做函式(function), 後面一點的章節才會再次介紹
而這是一個叫做 str
的函式, 可以將其他類型的東西轉成字串型態
字串長度
>>> len("abcde")
5
分割字串
>>> "ab,cd,ef".spilt(",")
['ab', 'cd', 'ef']
上面表示將字串用
,
來分割, 回了一串分割後'ab'
,'cd'
,'ef'
三個結果
[]
這個東西稱為list, 將會在之後講到
還有更多, 這裡只提供範例但不解釋
尋找字串位置
>>> "abcd".find("c")
2
計算字串出現次數
>>> "abcdaaa".count("a")
4
字串大小寫轉換
>>> "abcd".upper()
'ABCD'
>>> "ABCD".lower()
'abcd'
>>> "this is string".title()
'This Is String'