Python – 資料型態 + 轉換

簡介

上篇介紹了Python入門的操作平台,大家可以自行選用,而我是選用Jupyter來編程。在學習程式語言時,都要有必要的基本常識,例如邏輯運算、資料型態、型態轉換、判斷式、函式建立、引用介面等等等,非常的多,而Python算是比較淺顯易懂的程式語言,並且可以做到非常多的事情,尤其是AI方面。這篇我就先介紹資料型態與型態的轉換。

字串/字元資料型態

字串string (str) 基本,這邊我會直接使用jupyter輸入程式碼顯示操作成果。字串在python中要使用『 ” 』或是『 “” 』放置你要的字串。

如上圖範例,你可能要先建置一個容器,這邊我把這容器命名為string,而後面給予這容器字串的資料型態。在python中有兩種簡單地將成果呈現出來的模式,一種是print(),另一種則是直接輸入容器名稱。

而大家可以看到上面我有用不同的引號來包字串,其結果都是相同,所以大家就自行選用要哪一種引號。

字串處理,這邊我會介紹字串的串接、字串提取、計算字串長度、重複打印。

我們就先實現字串的連接,上面有提供兩種連接方式,一種就是直接在Print中把字串容器都使用+來串接。另一種我們可以透過以容器來整合許多字串,當然串接方法也是使用+,這好處其實就是比較乾淨。在未來會遇到處理外部連結,或是路徑的字串整合,該功能是非常常使用到的。

再來到取得字串的長度,該功能雖然細微但是也是很常使用到,我們沿用剛剛的字串練習,大家在print(len(容器)),新增len()包住容器(len其實就是length的縮寫,這樣比較好記),他可以監測該容器字串是多少個字。在判斷文字長度時必備。

字串提取,我們假如有一點底程式概念,想必知道『陣列』是什麼東西,可以放置資料型態,並可以索引查詢、丟資料、刪除資料、重新排列等等,這邊我們可以把字串當作一個陣列,假如我們今天想要拿到字串中或是判斷字串中有沒有包含某個字元,就可以使用到這招了。

大家可以看到上圖,我們將collection容器後面附加『[]』陣列符號,並在符號中索引某個數字(陣列第一個索引從0開始),就可以得到該索引文字,而第二個方法是得到索引數字之間的字串可以用[4:8],就可以得到陣列索引4-8的字串。

字串重複打印,這可能比較少用到,但是還是可以提一下此功能,假如需要重複列印字串的話,就直接加入數學運算,『*要打印次數』即可。

字元對大家可能就比較陌生一點,但在電腦世界中,算是比較原始的資料型態。講到字元就要了解一下編碼這個東西,常見的編碼方式例如『ASCII code』這是用於編碼英文、『Unicode』非英文,或是多國語言的處理、『UTF-8 』常用於中文的編碼。

字元在python中是以chr()來代表(character縮寫),大家可以想成把每一個字串拆每個字拆解,例如”KM”,就是兩個chr,但不可以直接轉換,chr通常在基本沒指定編碼前是以數字來代表,如上圖,我們把a,b容器各自給上65,66(其實代表了AB字母的chr型態),我們一樣透過另一個大容器來裝這兩個小容器,並透過chr()來轉換這兩個容器中的數字,最後就印出AB這兩個轉換結果。

數值資料型態

數值資料型態有int整數、float浮點數(小數點)、bool布林值,這三種最常見也最常使用的必須了解一下。

int整數,我們直接看範例,在數學運算時很常使用到整數與浮點數。一樣新增一個容器並賦予整數數字即可,而這邊有個小技巧,在容器前加入type()可以知道該容器的資料型態。

float浮點數,有整數當然就有小數點,剛剛忘記講到,負數也包含在內。我們一樣看到程式碼,有加入小數點的數字,他就會自動成為float的資料型態。

bool布林值,大家很常聽到true or false,這在邏輯判斷式是非常常用的資料型態,但他也算是數值資料型態,如上圖,把容器給予『True』或是『False』,他就變成布林的資料型態,要注意的是字首必須要大寫,否則他會不知道這是什麼東西。

型態轉換

資料型態的轉換也是非常非常的重要且必要,在程式中常常需要把不同的型態轉換才能符合規格進而做下一步動作,這邊我就列出常見的資料型態轉換種類與方法。

  • int to string 整數轉字串
  • string to int 字串轉整數

如上程式碼,有三種不同的資料型態,在字串轉整數的前提下,他的字串必須是數字,不然無法轉換,而轉換容器資料型態的方法就是int(str type),如此就可以把str轉成int型態了。同場加映float也可以轉乘str。

  • int to float 整數轉浮點數
  • float to int 浮點數轉整數

數值型態的轉換如上圖,一樣附加在容器前int()或是float(),可以看到當整數轉成浮點數時,印出來的數字會在整數後加個小數點『.0』,而浮點數轉整數,他會捨去小數點的值,這有點像數學運算的無條件捨去,但不能算。

而在同場加映一下,你可以瘋狂轉換資料型態,如最後一行,假如容器數值允許的話,都是可以無限度的轉換。

小結

這篇贅述的這麼多,假如有興趣開始學簡單的程式時可以從python著手,了解程式的精髓,在往後跨不同語言時,邏輯大多是相通的。透過簡單的程式撰寫並驗證,會讓你了解程式語言的流程與規則。

在〈Python – 資料型態 + 轉換〉中有 1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *