Python 自學第二天:資料型態和變數

程式就是一堆資料的處理,每種不同的語言對資料型態的定義,都有細微的差別。

註解

使用 # 開頭的該行文字,會被當作程式的註解,也就是直譯器會忽略,不屬於程式碼的部分。

1
2
# 這是註解
"沒有 # 開頭,不是註解,是字串"

資料型態

數字 Number

分為三種型態:整數、浮點數、複數。

Python 2 有另有長整數型態,也就是數字無限大的整數,結尾必須加大寫 L。但是在 Python 3 已經刪除。

Number 類別 解說 舉例
整數 正整數或負整數,没有大小限制,可以當長整數使用。 0xA0F(十六進位制)、-786
浮點數 有小數點的數字,可以使用科學方法表示。 32.3+e18、70.2-E12、
-21.9
複數 由實數和虛數部分組成,可以用 a + bj,或者 complex(a, b) 表示,實部和虛部都是浮點數。 9.322e-36j、3+4.53e-7j

字串 String

用雙引號 (") 或單引號 (') 包圍住的任意字母、文字和符號。如:

1
2
3
"Hello"
"想出現雙引號 \" 方法一" #使用反斜線 \ 跳脫字元
'想出現雙引號 " 方法二' #使用單、雙引號交錯表示

跳脫字元

跳脫字元表示跳脫原本該字元的意思、作用和功能

原本 " 在程式中是用來當作字串的開頭或結尾。如果加上反斜線 \" 後, " 就會被當作單純的符號,出現在字串中。注意:\ 不會出現在字串中。

常用跳脫字元

樣式 含義
\’ 單引號字元
\" 雙引號字元
\\ 反斜線
\n 換行符號(Enter)
\t 跳格符號(Tab)
\r 游標移至行首、回車符號
\uxxxx 以 16 進位數指定 Unicode 輸出的字元,如:\u0024 表示 $
\xxx 以 8 進位數指定 Unicode 輸出的字元,如:\124 表示 T

布林值 Boolean

真假值。True 和 False,記得開頭大寫。它們可以轉化為數值,True 表示 1,而 False 表示 0。

Booleans are a subtype of integers.

列表 List

有順序,可以新增、刪除和替換元素的列表。列表中的每個元素都有編號,又稱索引 (index),第一個索引是 0,第二個索引是 1,以此類推。可以放不同資料型態。支持巢狀列表。以中括弧 [] 包圍:

1
2
3
["python", "java", "c++"]
["Jenifer", 999] # 不同資料型態
[["father", 48],["mother", 43],["son", 15]] # 巢狀列表

組合 Tuple

有順序,不可變動的組合。其餘特性和列表相同。以小括弧 () 包圍:

1
2
3
("Google", "Amazon", "Apple")
(150, 250, "AAA") # 不同資料型態
((1, 3, 5), ("a", "p", "l")) # 巢狀組合

集合 Set

沒有順序,且元素不重複的一群資料的集合。可以使用大括號 {}set(參數) 函數創造集合,參數可以是字串、List、Tuple 和 Set

1
2
3
4
5
# 在印出集合元素時
# 會自動刪去重複的元素
# 印出順序和我們寫的順序不一定一樣
print({'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}) # {'banana', 'apple', 'pear', 'orange'}
print(set({"a", "r", "d"})) # {'r', 'd', 'a'}

字典 Dictionary

鍵值對 (key-value pair) 的資料型態。用冒號連接 key-value pair,並且用大括號 {} 包圍。

  • key:
    • 必須是唯一的
    • 必須是不可變動的,如字串,數字或 Tuple。List 可以變動,就不能當作 key。
  • value:
    • 可以重複
    • 可以是任何資料型態
1
2
{"father":48, "mother":43}
{"name":"Jenifer", "age":10, "studentID":"a12345"}

Python 3 的六個標準資料型態中:

  • 不可變動:Number (數字)、String (字串)、Tuple (組合)
  • 可變動:List (列表)、Set (集合)、Dictionary (字典)

變數

Python 中的變數不需要事先宣告以及提供資料型態。因此寫出變數時一定要賦予值,使用 =右邊的值賦予左邊的變數

1
2
3
4
5
6
7
8
9
# python
ID = "a12345"
num = 123
grade = ["A+", "A", "A-", "B+"]
dic = {"apple":50, "banana":40, "grape":90}
print(ID)
print(num)
print(grade)
print(dic)


如果是 C# 需要先宣告並且確認資料型態:

1
2
3
// C#
string ID = "a12345" // string 為字串型態
int num = 123 // int 為整數型態

Python 中的變數也可以用以下的方式表示:

1
2
3
a = b = c = 100 # 同時為多個變數賦值
x, y, z = 5, 10, "Jenifer" # 為多個變數依序賦值
print(a, b, c, x, y, z) # 變數以逗號隔開,可以將想印出的變數放在同一行

參考資料:
彭彭的課程:Python 變數與資料型態