Python 變數(Python Variables)
這篇 Python 變數教學將帶你認識變數的建立、命名規則與 Python 的動態型別特性。變數就像一個有名字的盒子,用來存放資料;在 Python 中建立變數非常簡單,不需要事先宣告型別,指派值的當下變數就誕生了。
建立變數
使用 = 將值指派給變數:
name = "小明"
age = 25
height = 175.5
is_student = True
print(name, age, height, is_student)
執行輸出:
小明 25 175.5 True
變數命名規則
| 規則 | 範例 |
|---|---|
| 只能包含字母、數字、底線 | user_name、score2 合法 |
| 不能以數字開頭 | 2score 不合法 |
| 大小寫敏感 | name 與 Name 是不同變數 |
| 不能使用保留字 | if、for、class 等不能當變數名 |
| 慣例使用小寫加底線(snake_case) | total_price 而非 totalPrice |
| 常數慣例全大寫 | MAX_SIZE = 100(Python 沒有真正的常數,全大寫是約定) |
動態型別(Dynamic Typing)
Python 是動態型別語言,變數的型別由值決定,而且可以隨時改變。用內建函式 type() 可以查看目前的型別:
x = 100
print(type(x))
x = "一百" # 同一個變數改放字串,完全合法
print(type(x))
執行輸出:
<class 'int'>
<class 'str'>
彈性很大,但也代表型別錯誤要到執行時才會發現,這是 Python 開發要特別留意的地方。
多重指派
Python 可以一行同時建立多個變數:
a, b, c = 1, 2, 3
print(a, b, c)
x = y = z = 0 # 三個變數指向同一個值
print(x, y, z)
a, b = b, a # 經典用法:交換兩個變數的值
print(a, b)
執行輸出:
1 2 3
0 0 0
2 1
常見錯誤
1. NameError: name ‘xxx’ is not defined
使用了還沒有建立的變數,最常見的原因是變數名打錯字(例如把 user_name 打成 username),或是在指派之前就先使用了變數。
2. SyntaxError: invalid syntax(變數名不合法)
變數名以數字開頭(2name = "x")或使用了保留字(class = "A")。改用合法的名稱即可,保留字清單可以在 REPL 輸入 help("keywords") 查看。
3. 把 = 與 == 搞混
= 是指派、== 是比較相等。在 if 判斷中寫成 if x = 5: 會直接報 SyntaxError,要寫 if x == 5:。
總結
Python 變數用 = 指派即建立,命名慣例是小寫加底線,型別由值決定且可隨時改變,用 type() 可以隨時檢查。下一篇我們來看 Python 的數字型別與運算子。