iT邦幫忙

0

【Python】3.變數不是數學的 X!記憶體裡的「便利貼」哲學

  • 分享至 

  • xImage
  •  

今天,我們要正式進入 Python 的語法世界

首先要認識的角色,是程式裡無所不在的——「變數(Variable)」與「資料型態(Data Type)」。
很多新手看到變數,會立刻聯想到國中數學的 x 和 y

請先把數學課本丟到一邊! 用數學的思維來學程式變數,你很快就會在遇到某行神秘程式碼時,陷入邏輯錯亂。
今天我們就用大白話,聊聊 Python 記憶體裡的「便利貼收納術」。

📌 觀念翻轉:變數不是「箱子」,而是「便利貼」

在很多傳統程式語言(如 C++ 或 Java)中,變數就像是一個「有特定規格的箱子」。如果你宣告了一個裝整數的箱子,裡面就絕對不能放文字。
但在 Python 的世界裡,變數的本質更像是——「便利貼」。
想像一下,你的電腦記憶體是一個巨大的倉庫,裡面堆滿了各種資料(數字、文字、圖片)。
當你寫下這行程式碼時:

age = 18

這句話在 Python 底層的真實運作邏輯是:

  1. 電腦在倉庫裡創造了一個叫做 18 的數字。
  2. 電腦寫了一張名為 age 的便利貼。
  3. 把這張 age 便利貼,狠狠地貼在 18 這個數字上面。

🧠 破解新手的「數學邏輯崩壞」陷阱

為什麼一定要用「便利貼」來理解?因為幾天後,你一定會遇到這種程式碼:

x = 5
x = x + 1

如果用數學腦來看:(x = x + 1),把兩邊的 x 消掉,不就變成 (0 = 1) 了嗎?!

  1. x = 5:把 x 便利貼貼在 5 上面。
  2. x + 1:電腦看到右邊,先找到 x 便利貼貼在哪裡(喔!貼在 5 上面),然後把 (5 + 1) 計算出 6。
  3. x = ...:把 x 便利貼從 5 身上撕下來,重新貼到剛算好的 6 身上。
    你看,是不是超級合理、超級直覺!

🏷️ 資料型態:便利貼貼在什麼東西上?

雖然 Python 貼便利貼很自由,但被貼上去的「物品本身」,還是有分種類的。這就是資料型態。
今天我們認識最常用的三大基礎型態:

  1. 整數 (Integer, 簡寫為 int)
    • 長相:沒有小數點的數字,像是 10, 0, -5。
    • 範例:plates_on_table = 3

  2. 浮點數 (Float)
    • 長相:帶有小數點的數字,像是 3.14, -0.5。
    • 範例:pi = 3.14159
    • (冷知識:為什麼叫浮點數?因為小數點在電腦底層運算時會像浮標一樣移動。)

  3. 字串 (String, 簡寫為 str)
    • 長相:用「單引號 ''」或「雙引號 ""」包起來的任意文字。
    • 範例:name = "Python 新手村"
    • ⚠️ 超級地雷:5 是整數,但 "5" 是字串!

如果你讓 5 + 5,電腦會算出 10;如果你讓 "5" + "5",電腦會把兩個字串黏在一起,變成 "55"!

🔎 照妖鏡指令:type() 與 print()

我們要怎麼知道現在的便利貼貼在什麼型態的物品上呢?我們可以用 Python 內建的照妖鏡指令—— type()。
請在你的 VS Code 裡輸入以下程式碼並執行看看:

x = 100
y = 3.14
z = "100"

print(type(x))  # 會印出 <class 'int'> (整數)
print(type(y))  # 會印出 <class 'float'> (浮點數)
print(type(z))  # 會印出 <class 'str'> (字串)

透過 print() 把 type() 的結果印出來,你就能清清楚楚看到電腦眼中每個物品的真面目。

💡 Python 的超能力:動態型態(Dynamic Typing)

Python 之所以對新手友善,是因為它擁有「動態型態」的超能力。
在其他語言裡,一個變數宣告成整數後,就一輩子隻能是整數。但在 Python 裡,因為變數是便利貼,你可以隨時撕下來亂貼:

magic = 7        # 現在貼在整數 7 上
print(magic)     # 會印出7
magic = "七"     # 沒問題!撕下來改貼在字串 "七" 上
print(magic)     # 會印出七

電腦完全不會生氣,這給了創作者極大的彈性!(不過亂貼一通也是未來寫大專案時容易引發 Bug 的原因)。

今日結語:你掌握收納術了嗎?

今天我們成功把「變數 = 便利貼」的觀念植入大腦,也認識了 int, float, str 三大基礎型態。這就像是認識了食材的種類,我們就要用這些食材來做邏輯判斷,聊聊如何用 if-else 幫電腦裝上大腦!

🧑💻 今日小作業
試著在 VS Code 裡寫寫看:創造兩個變數,一個放你的名字(字串),一個放你的年齡(整數),並用 print() 把它們印出來


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言