給自學者的Python教學(7):字串(String)

YC
5 min readJun 2, 2018

--

字串,其實有著將一個個字母串起來,變為一串文字的意思,所以在理論上,我們是不會把一個字母當成字串。但是,在程式設計的世界…唔…。
不論如何,我們可以透過下圖清楚明白地了解字串的概念。

字串,跟雞肉串屬親戚關係。

先為說明,在Python中,字串是不可變的,我們無辦法對原字串進行修改,但是我們可以透過賦值給新變數,來達到修改的效果。

要創建字串是相當簡單的一件事,我們只需要將文字包在一對單引號或是雙引號中,就可以了。

從左圖可以看出,我們不論是使用單或雙引號,我們都可以輸出我們想要的結果,因為Python都會用一樣的處理方式處理。

單雙引號都可用的最大好處在於:我們可以創建出使用如包括單引號的字串,而不用另外轉義才能印出引號。

另外,我們還可以使用三個引號來創建可換行的字串。(\n 就是剛剛所說換行轉義符。)

使用 print(),我們可以輕易印出字串,並同時會把引號去掉。
那如果字串是空的話,使用print()會發生什麼事?
大家可以自行嘗試一下喔^_^

我們可以使用加號(+),來連接上不同的字串,如下:

我們可以看到,在兩個變數中間使用+號,兩個字串會接合為一個字串。我們可以再加上一個包含空白鍵的字串,來為兩字之間加上空白格。

那如果我們想要將拿到的值變為字串,可以怎樣做?

我們只需使用如左圖的 str() 就可以將不同的類型變為字串,如整數、布林值、浮數點。

(對,這個很 cool 的功能,小弟是從來沒有機會用到的。)

Python 有一項很 cool 的功能,就是我們可以使用 * 號來複製字串。

對了!我們可以視字串為一陣列(暫時我們不用了解何為陣列,之後的文章我會再提到。)
我們可以用 [] 來提取字串中的字符,如下:

*********str[1] 可以提取出字串中第二個字。********
對,是第二個字,因為在電腦程式中,陣列都是從0開始。
那要取出最後一個字 “l” ,我們應該要怎樣做呢?

對此,Python 真的有一個很 Coooooool 的功能,我們可以直接使用 -1 來取得最後一個字,如下:

好東西就別讓他停下來,我們接著介紹 slice功能 (實在是不太會翻譯這個字,抱歉)。

Slice 可以將字串分開來取出,再合多為一。

在上圖中,我們可以看到 str[1::3] ,這個格式可以寫成 str[start:end:step]。
start:是指提取字符的起始位置。
end:是指提取字符的結尾位置。
step:是指提取字符的間隔(步長)。

我們可以透過這種格式來取得我們想要的字串,大家不妨試著操作來更進一步的了解 Slice 這個強大的功能。

最後,我們來介紹一下幾個好用的字串用 function 。

  1. len():用len()來獲得字串的長度。

>>> len(“We got this.”)
12

2. split():用 split() 來將字符來分割字串。

以上是我們使用 「,」來分割取得三個字串,且「,」會被消除掉。

3. replace():用 replace() 來取代你想取代的字串。

replace()的第一個輸入的參數是想被替代的字串,第二個參數是想用以替代的字串,第三個參數為替代的次數。

從上圖可見,如果第三個參數輸入的數是 0 ,則不會進行替代。
若為 1 ,則取代一次。若不給上第三個參數,則默認為替代一次。

字串,可以數是程式員最常打交道的類型,熟用各種字串的 function 絕對是能加強程式設計的功力呀!

如果你覺得我的文章幫助到你,希望你也可以化讚為賞,加入 Liker ,再按下方的綠色拍手按鈕,為文章點讚!為作者增加收益,再回饋更多好文章!

--

--

YC

提供更精確的技術內容為目標,另創立「程式愛好者」專頁。首席軟體工程師,專研後端技術、物件導向、軟體架構。