Python 入門(二):變數不是箱子,是你替世界取的名字
在上一篇裡,我們談的不是語法,而是一件更根本的事:
你是在對電腦下指令,而不是在施展魔法。
現在,我們要進入你學程式後,第一個真正會影響你之後走多遠的概念——
變數(variable)。
很多人學變數,從一開始就學錯了
你可能看過這種教法:
python
然後老師告訴你:
「a 是變數,b 是變數,c 也是變數。」
問題是——
這樣你只會記住語法,卻不知道自己在幹嘛。
變數不是箱子,是「命名」
我們先換一個角度。
當你寫這行:
python
你不是在做「存資料」這件事。
你真正做的是:
告訴電腦:從現在開始,
age這個名字,代表 18。
這是一件非常人類的行為。
因為人類理解世界,本來就是靠「命名」。
為什麼命名這件事這麼重要?
想像一下沒有名字的世界。
你每天都只能說:
「那個…昨天那個…你知道的那個東西。」
程式也是一樣。
電腦其實只看得到數字和資料,
是你用變數,替這些東西取了名字,世界才開始有結構。
一個比較「真實」的例子
來看這段程式碼:
python
這段程式完全沒有新技術,
但你一眼就能看懂它在幹嘛。
為什麼?
因為你不是在讀程式,
你是在讀一段被好好命名過的想法。
新手最常犯的錯誤:為了省事亂取名
很多人會這樣寫:
python
這段程式碼「可以跑」,
但半年後你自己回來看,很可能會問一句:
「p 是什麼來著?」
這不是技術問題,是溝通問題。
請記住一件事:
你未來最常溝通的對象,不是電腦,而是未來的自己。
Python 為什麼不強迫你宣告型別?
你可能聽過其他語言會要求這樣寫:
int age = 18;
但 Python 只要:
python
不是因為 Python 比較隨便,
而是因為它把重點放在一件事上:
你現在想表達什麼意思?
型別是之後的事,
命名與理解,是現在的事。
寫程式,其實是在整理自己的思考
如果你現在卡在變數,很可能不是你不會 Python, 而是你還沒想清楚:
- 這個東西代表什麼?
- 它在流程中扮演什麼角色?
- 我之後還需不需要再用到它?
一旦你能回答這些問題,變數自然就出現了。
在學下一個語法之前,先問自己一個問題
在你寫下任何一個變數前,
試著問自己:
「如果半年後的我看到這個名字,他會懂嗎?」
如果答案是否定的,
那不是你變數取得不好,
而是你對問題的理解還不夠清楚。
下一篇會發生什麼?
下一篇,我們會談一件讓程式「開始有選擇權」的東西:
- 條件判斷(if / else)
那時候,你不只是下指令,
你開始告訴電腦:
「在不同情況下,該怎麼做。」
但在那之前,
請先確定一件事:
你已經學會替世界取名字了。