[python筆記] 7.資料型別 – string

前言:

在前面的筆記裡,幾乎都有用到 string 型別的資料,像是 print() 函式裡直接寫的內容,都是 string 型別,可見 string 型別有多麼常用。
那事不宜遲的趕緊認識 string 吧。

閱讀時間:10 分鐘

python 的 string 表示

python 的 string 資料可以使用單引號(‘abc’)或是雙引號(“abc”)包起來。並且 python 裡沒有只針對一個文字或是符號使用的資料型別,即便是 ‘a’,也是 string。
python 還有一種長字串的用法,是使用三個雙引號(“””abc”””),這個特殊用法允許 python 能夠換行。

什麼是換行?
在編輯器裡會看到左方有數字,這就是行(line),行可以為「提示」使用,當發生程式錯誤時,編輯器會告訴你在第幾行發生了問題。
換行的意思就是程式或是資料使用了多行進行表達。

string 的運算

想不到吧?居然連字串都可以做運算。

運算範例說明結果
+“hello” + ‘world’連接字串helloworld
* ‘hello’ * 2重複字串n次hellohello
[ int ]‘hello'[4] 取得字串中index為4的字元o
[ int : int ]“hello”[2:4]取得字串中從index為2開始到index為4之前的字元ll

其中的 [ int ] 與 [ int : int ] 是 python 中 slice 的一種應用。slice 可以應用在所有的多資料型別。
關於更多 slice,之後會額外寫一篇文章。

index是什麼?
index 中文稱為目錄。是像編號一樣的東西,在大多程式語言裡,index 從0開始計算。例如:”hello, world!” ,其 index 為 5 的內容是 “,”,可以使用”hello, world!”[5] 來指定該內容。

string 的方法

string 如果以物件來看待,會覺得非常的特別,因為你不需要去呼叫它的屬性,就能夠直接使用資料,這個特別之處也是基礎型別才有的。

前往 python 的官方文件,會看到 string 擁有一堆的方法,這些方法對 string 有哪些影響呢?這麼多東西肯定記不起來的,所以我會建議大家不要去記清楚每個方法如何使用,而是去記擁有什麼樣的功能。記憶功能的目的是,去提醒你擁有資源能夠使用在你的程式上,真的需要使用時再去查詢就好,而重要的方法就會在一次次的查詢裡被牢牢地記下來。
所以來知道 string 的方法影響什麼才是更重要的。

string 的方法,有這些能力:

  • 改變字串的大小寫
  • 查詢內容是否在字串裡
  • 字串的編碼
  • 字串的長度
  • 字串的運算
  • 字串的分割

其中我個人覺得常用的是查詢內容以及字串分割,所以就來介紹一兩個相關的方法。

find() 方法

find() 方法提供尋找指定內容是否為字串的子字串。
子字串是什麼?
類似分類與子分類的關係,子字串被包含在字串裡,是字串的一部分。例如:”hello, world!” 擁有子字串 “llo, w”

如何使用?
我們將欲查詢的內容填入()裡,如果存在該子字串,則會回傳子字串開頭的 index,如果沒有找到該子字串,則會回傳 -1。

spilt() 方法

有時候我們會收到由許多資料組成的一個字串,例如:”h,e,l,l,o”。如果需要將他們拆為一個個資料的話,感覺就很麻煩,於是 python 提供 spilt() 來將其分開。

如何使用?
將想要分開的依據內容填入()裡,如以下做法。最後我們會得到一個 list 型別的資料。

結語

關於 string 還有一個特色,那就是 string is one of list 的說法,可以將 資料型態 – list 的使用用在 string 上,這個會留到之後的 list 做補充。
下一個要筆記的資料型別是 list and tuple。

This article was written by 洋洋. Any similarities to other works are purely coincidental.

我們是 Be Good Tool
團隊由幾位工程師、設計師與PM組成
專注開發各種免費網站工具和推廣優質的APP
歡迎到我們的線上工具列表看看喔!