Try   HackMD

L2 Primitive types (原始型態)

tags: Python type

目錄

• Definition (定義)
• Numeric Types (數值型態)
• Integer (整數)
• Floating Point (浮點數)
• Boolean (布林值)
• Text Sequence Types (文字序列型態)
• String (字串)

• Definition (定義)

什麼是原始型態呢?

原始型態就是在Python中內建的基本型態,裡面包含了最單純的資料型別,而這些基本型態也是組成其他更多更複雜結構的基礎。

所以我們可以認為

原始型態是一系列基本的資料型別,也是構築其他資料結構的基礎。


• Numeric Types (數值型態)

那些資料屬於數值呢?

基本上數值型態有三個,分別是

  • Integer (整數)
  • Floating Point (浮點數)
  • Boolean (布林值)

• Integer (整數)

什麼是整數呢?

我們可以廣義地將整數定義為不含小數點的數值,具體示範如下。

positive_integer_number = 10 negative_integer_number = -18

從上面得結果我們可以看出整數的範圍包含了正值及負值。

在Python中,我們可以用內建的type()函式來查看資料型態,具體示範如下。

number = 18 type(number) # <class 'int'>

上述的程式會產生如註解顯示的<class 'int'>這個結果,他指出了number這個變數被指定的值是屬於int這個型態,而int正是integer在Python中的簡寫。

因此我們可以看出整數的幾個重點

No. Rules
1 整數為不包含小數點的數值
2 整數可以包含正值及負值
3 整數在程式中以int表示


• Floating Point (浮點數)

什麼是浮點數呢?

我們可以將浮點數認為是包含小數點的數值,具體示範如下。

positive_float_number = 18.54 negative_float_number = -14.3 whole_float_number = 15.0 omit_zero_float = 15.

從上面得結果我們可以看出浮點數的範圍同樣包含了正值及負值,比較特別的是屬於浮點數的數值都包含小數點,比較特別的是第三行,即使小數點後是沒有任何數值,但因為出現了小數點,所以屬於float型態,還有在第四行的表示方式是省略掉了小數點後的0,所以直接打上 . 就結束了,其結果和第三行相同。

我們同樣可以用內建的type()函式來查看資料型態,具體示範如下。

number = 18.4 type(number) # <class 'float'>

上述的程式會產生如註解顯示的<class 'float'>這個結果,他指出了number這個變數被指定的值是屬於float這個型態,而float正是floating point在Python中的簡寫。

因此我們可以看出浮點數的幾個重點

No. Rules
1 浮點數為包含小數點的數值
2 浮點數可以包含正值及負值
3 浮點數的小數部分若為0可省略
4 浮點數在程式中以float表示

• Boolean (布林值)

什麼是布林值呢?

我們可以狹義地將布林值認為是TrueFalse,具體示範如下。

is_adult = True finish_work = False

從上面得結果我們可以看出布林值的值只有兩種,TrueFalse,這是一種較常被使用在條件或比較式中的一個資料型態,表示某個情況或條件是否成立。

當然,布林值並沒有這麼簡單,我們會在之後的課程對他進行更詳細的說明。

我們同樣可以用內建的type()函式來查看資料型態,具體示範如下。

boolean = True type(boolean) # <class 'bool'>

上述的程式會產生如註解顯示的<class 'bool'>這個結果,他指出了boolean這個變數被指定的值是屬於bool這個型態,而bool正是boolean在Python中的簡寫。

因此我們可以看出布林值的幾個重點

No. Rules
1 布林值包含了True和False
2 布林值在程式中以bool表示

• Text Sequence Types (文字序列型態)

那些資料屬於文字序列呢?

基本上文字序列型態有一個,就是

  • String (字串)

• String (字串)

什麼是字串呢?

我們可以字串定義為一段文字字元,具體示範如下。

# With double quotations paragraph = "Hello World!" character = "A" number_string = "1234" # With single quotaitons paragraph = 'Hello World~' character = 'a' number_string = '5678'

從上面得結果我們可以看出字串可以是一段文字一個單字甚至是一個數字。而當我們使用""或是''來包住這些資料時,他們就會屬於字串型態,在此時此刻,他們就是一段文字。在Python中,無論是單引號或是雙引號都是代表字串,其中並無差別。比較需要注意的是以下部分。

# You can't do this string = "Start with double but end with single.' string = 'Start with single but end with double."

Python從引號來判斷是否為字串,雖然""''並無差別,但一次只能選用一種,頭尾必須一致,否則會造成錯誤。

# These two are not accepted string = "He just said "Hi" to me." string = 'He just said 'Hi' to me.' # Double outside and single inside string = "He just said 'Hi' to me." # Single outside and double inside string = 'He just said "Hi" to me.'

剛剛知道了字串是由包住他的引號來判斷,但問題出現了,如果想要在字串裡面使用引號,如同第二三行的用法可以看出是不可行的,若一定要使用引號可以選擇使用和外部用來判斷字串不同的引號來代表文字內的引號,第六及第九行即是正確的結果。

在Python中,我們可以用內建的type()函式來查看資料型態,具體示範如下。

text = "string is easy" type(text) # <class 'str'>

上述的程式會產生如註解顯示的<class 'str'>這個結果,他指出了text這個變數被指定的值是屬於str這個型態,而str正是string在Python中的簡寫。

因此我們可以看出字串的幾個重點

No. Rules
1 字串由是否被引號包括判斷
2 字串頭尾的引號必須一致
3 若要在內部使用引號,須和外部引號不同

• 希望這些筆記可以幫到你 •

如果有興趣了解更多歡迎追蹤我的
Intagram
Youtube
Github

也可以幫我按個讚賞

上一篇: L1 Variables (變數)

下一篇: L3 Type casting (型態轉換)