字串,其實有著將一個個字母串起來,變為一串文字的意思,所以在理論上,我們是不會把一個字母當成字串。但是,在程式設計的世界…唔…。
不論如何,我們可以透過下圖清楚明白地了解字串的概念。
先為說明,在Python中,字串是不可變的,我們無辦法對原字串進行修改,但是我們可以透過賦值給新變數,來達到修改的效果。
要創建字串是相當簡單的一件事,我們只需要將文字包在一對單引號或是雙引號中,就可以了。
從左圖可以看出,我們不論是使用單或雙引號,我們都可以輸出我們想要的結果,因為Python都會用一樣的處理方式處理。
單雙引號都可用的最大好處在於:我們可以創建出使用如包括單引號的字串,而不用另外轉義才能印出引號。
另外,我們還可以使用三個引號來創建可換行的字串。(\n 就是剛剛所說換行轉義符。)
使用 print(),我們可以輕易印出字串,並同時會把引號去掉。
那如果字串是空的話,使用print()會發生什麼事?
大家可以自行嘗試一下喔^_^
我們可以使用加號(+),來連接上不同的字串,如下:
我們可以看到,在兩個變數中間使用+號,兩個字串會接合為一個字串。我們可以再加上一個包含空白鍵的字串,來為兩字之間加上空白格。
那如果我們想要將拿到的值變為字串,可以怎樣做?
我們只需使用如左圖的 str() 就可以將不同的類型變為字串,如整數、布林值、浮數點。
Python 有一項很 cool 的功能,就是我們可以使用 * 號來複製字串。
對了!我們可以視字串為一陣列(暫時我們不用了解何為陣列,之後的文章我會再提到。)
我們可以用 [] 來提取字串中的字符,如下:
*********str[1] 可以提取出字串中第二個字。********
對,是第二個字,因為在電腦程式中,陣列都是從0開始。
那要取出最後一個字 “l” ,我們應該要怎樣做呢?
對此,Python 真的有一個很 Coooooool 的功能,我們可以直接使用 -1 來取得最後一個字,如下:
好東西就別讓他停下來,我們接著介紹 slice功能 (實在是不太會翻譯這個字,抱歉)。
Slice 可以將字串分開來取出,再合多為一。
在上圖中,我們可以看到 str[1::3] ,這個格式可以寫成 str[start:end:step]。
start:是指提取字符的起始位置。
end:是指提取字符的結尾位置。
step:是指提取字符的間隔(步長)。
我們可以透過這種格式來取得我們想要的字串,大家不妨試著操作來更進一步的了解 Slice 這個強大的功能。
最後,我們來介紹一下幾個好用的字串用 function 。
- len():用len()來獲得字串的長度。
>>> len(“We got this.”)
12
2. split():用 split() 來將字符來分割字串。
以上是我們使用 「,」來分割取得三個字串,且「,」會被消除掉。
3. replace():用 replace() 來取代你想取代的字串。
replace()的第一個輸入的參數是想被替代的字串,第二個參數是想用以替代的字串,第三個參數為替代的次數。
從上圖可見,如果第三個參數輸入的數是 0 ,則不會進行替代。
若為 1 ,則取代一次。若不給上第三個參數,則默認為替代一次。
字串,可以數是程式員最常打交道的類型,熟用各種字串的 function 絕對是能加強程式設計的功力呀!