變數、名稱與物件
物件
- 在Python中,包括布林、整數、浮點數、字串,甚至大型資料結構、函式與程式,所有東西都是用物件來實作的(具備其他語言沒有的一致性及實用功能)
- 物件就像是一個透明的塑膠盒,裡面裝了一些資料
類型
- 物件會有一個類型(例如:布林或整數...),以決定這個資料可用來做什麼
- 在Python中,如果有一個物件的類型是int,可以將它與另一個int相加
- 類型會決定箱子內的資料值是可以變更(可變的),或是常數(不可變的)
- 不可變的:就像透明的密閉箱子,可以看到值,但無法改變
- 可變的:就像打開的箱子,可以看到值,也可以變更它,但無法改變類型
- Python 是強類型(Strong typing)的語言,物件的類型無法變更,即使值是可變的
- 類型是物件的定義
- 要知道某物件的類型(變數或常值),可以使用type(物件)
- 常值(58、99.9、abc)
- 變數(a、b)
- 類別(class)、類型(type),代表同樣的東西
>>> type(a)
<class 'int'>
>>> type(b)
<class 'int'>
>>> type(58)
<class 'int'>
>>> type(99.9)
<class 'float'>
>>> type('abc')
<class 'str'>
變數
- 程式語言可讓你定義變數,之後在程式中使用
- 它們是一種名稱,用來參考電腦記憶體裡面的值
- 變數名稱只能使用這些字元:
- 小寫字母(a 到 z)
- 大寫字母(A 到 Z)
- 數字(0 到 9)
- 底線(_)
- 名稱的第一個字元不能使用數字,Python會將底線開頭的名稱視為特殊用途(第四章會說明)
- 在Python中,用 = 來指派一個值給變數
- 數學中=意思是等於。許多電腦語言包含Python,都會用 = 來賦值的原因是:
- 標準鍵盤沒有類似左箭頭這種具有邏輯性的按鍵
- 在電腦程式中,賦值的次數,遠比測試兩個值是否相等的次數還要多
- 舉例:
- 「整數值7」指派給一個叫做 a 的變數
- 印出被指派給a的值
>>> a = 7
>>> print(a)
7
不要使用以下任何一種變數名稱(Python的保留字)
False |
class |
finally |
is |
return |
None |
continue |
for |
lambda |
try |
True |
def |
from |
nonlocal |
try |
and |
del |
global |
not |
with |
as |
elif |
if |
or |
yield |
assert |
else |
import |
pass |
|
break |
except |
in |
raise |
|
Python變數的重點
- 變數只是名稱
- 賦值不會將值複製,它只會指派一個名稱給含有該資料的物件
- 名稱是某東西的名稱,不代表那個東西,可以將名稱想像稱便利貼被貼在物件上
>>> a = 7
>>> print(a)
7
>>> b = a
>>> print(b)
7
- 將 7(值)指派給 a(名稱)→ 建立一個物件盒子,裡面有整數值7
- 印出 a 的值
- 將 a 指派給 b(將b貼到內含7的箱子)
- 印出 b 的值