iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
Software Development

Python 小白的逆襲:30 天從零到能教人的精華筆記,寫給迷惘的你與當年的我自己!系列 第 4

【Day4】我的程式櫃子,放什麼都行──變數與資料型別

  • 分享至 

  • xImage
  •  

前言:程式也需要記憶力

昨天我們成功打開了 Jupyter Notebook,並且寫下了人生第一行Python code,算是正式跟這條蛇打了招呼。
那麼,今天要來介紹的主角是 ——變數(Variable)

print("2025 IThome鐵人競賽")

但問題來了,如果我想要把「年份」存起來呢?如果我想要記住「活動名稱」呢?總不能每次都硬打吧!
假設明年2026舉辦IThome鐵人競賽的話,不就要改一大堆地方?
這時候,程式語言給我們一個神奇的「櫃子」,叫做 變數(Variable)

ㄧ、什麼是變數?

把「變數」想像成一個貼了標籤的櫃子(或是抽屜之類的):

  • 你可以把資料放進去
  • 櫃子上會有一個名字
  • 下次想用的時候,就只要記名字,而不是記內容
name = "小明"
age = 25

這代表:

  • 我有一個叫 name 的櫃子,裡面放著字串 "小明"
  • 我有一個叫 age 的櫃子,裡面放著數字 25

之後只要想用,直接叫名字就好:

print("姓名",name)
print("年齡",age)

執行之後,就會看到下方的輸出結果!

姓名:小明
年齡:25

我額外製作投影片來說明變數的概念~對於初學者來說可能會更清楚一點!!

https://ithelp.ithome.com.tw/upload/images/20250918/20164721fVAJo50V0z.png

二、變數賦值(Assign)不是數學的等號!

你可能會看到這樣的程式碼:

x = 10
y = 5
z = x + y
print(z)

心裡可能會想:「等號不是應該代表『兩邊相等』嗎?為什麼程式裡好像是『把右邊放進左邊』?」

沒錯!這就是初學者最容易踩的地雷之一。
Python 裡的 = 並不是數學裡的等號,它是一個 指示電腦:把右邊的值放到左邊變數裡 的符號,
我們叫它 賦值符號(assignment)

左邊:櫃子(變數),你想把東西放進去
右邊:東西(資料、計算結果),你要放進去的內容
= 就是把右邊的東西「放進左邊的櫃子」

age = 25

左邊的 age → 這是你要放東西的櫃子
右邊的 25 → 這是你要放進去的東西
= → 幫你把 25 放進 age 裡

初學者容易搞混的地方(初學者請止步!看我!)

1.不要把它跟數學等號搞混

x = x + 1   # 正確,但初學者會疑惑「x怎麼等於 x+1?」

這行程式的意思是:先算右邊 x+1 的值,再把結果放回 x 裡
並不是說 x 真的等於 x+1,Python 先計算,再替換原本的 x

2.賦值右邊可以是運算結果

length = 5
width = 3
area = length * width
print(area)  # 15

3.變數可覆蓋(更新)

score = 80
print(score)  # 80
score = 90    # 覆蓋舊值
print(score)  # 90

三、命名規則:櫃子不能亂取名(不可和內建關鍵字相同)

在 Python 裡,變數名字不能隨便亂取,否則會出錯。基本規則有:

✅ 可以:

  • 英文字母、數字、底線組合
  • 不能以數字開頭

❌ 不可以:

  • 出現空白
  • 使用保留字(像是 for, while, class 等)

💡這邊幫各位整理了一些內建關鍵字,若要命名變數名稱時,記得要避開呦!

and as assert
break class continue
def del except
else elif finally
for from False
global if import
in is lambda
not None nonlocal
or pass return
raise try True
with while yield

我們來看一下有關命名規則的範例:

student_name = "小明"   # ✅ 合法
age2 = 18              # ✅ 合法
2nd_age = 20           # ❌ 不合法,數字不能開頭
my name = "小華"       # ❌ 不合法,不能有空白

接下來要來說一個很重要的觀念,很多初學者可能會忽略的部分!
其實變數裡存的資料是可以不斷被更新的呦!

四、變數可以不斷更新(迭代)

變數的內容不是「一次性」的,而是可以被更新的。
就像一個櫃子,你今天放了一件外套,明天完全可以換成鞋子,後天再換成帽子。
來看看這個例子:

price = 250      # 一開始,櫃子裡放 250
price = 199      # 後來,把櫃子裡的東西換成 199
price = 150.99   # 再後來,換成小數 150.99
print(price)

執行後,會看到輸出結果是:

150.99

這邊來再補充說明一下!

Python 只會記得最後一次你放進去的東西。
前面放進去的 250199 都被覆蓋掉了,最後只剩下 150.99
這個動作就叫做「變數的重新賦值」或「迭代」
它讓程式可以隨著邏輯和流程,不斷更新資料,而不是固定死死的。

五、常見的資料型別

接下來,我們要認識放進櫃子的東西可以有哪些種類。

在 Python 世界裡,最常見的資料型別有:

  • 整數(int):例如 1032025
  • 浮點數(float):例如 3.14150.990.5
  • 字串(string):例如 "Hello""Python""2025IThome鐵人賽 我要成功完賽!"
  • 布林值(boolean)TrueFalse,代表對或錯

這些資料型別就像是不同的物品,你可以放進櫃子裡,然後在需要的時候拿出來用。

六、如何查詢變數的型別?

有時候你可能會忘記,自己放進櫃子(變數)裡的,到底是數字、文字,還是布林值?
別擔心,Python 幫你準備了一個偵探工具 —— type() 函式

price = 150.99
name = "Python"
is_hot = True

print(type(price))
print(type(name))
print(type(is_hot))

執行結果:

<class 'float'>
<class 'str'>
<class 'bool'>

你會發現,Python 很老實地告訴你:

  • price浮點數(float)
  • name字串(str)
  • is_hot布林值(bool)

從今天開始,如果你搞不清楚變數的型別,就呼叫 type() 來確認吧!

為什麼 type() 這麼重要呢?

你可能會想:「我自己命名變數,應該很清楚自己放了什麼東西吧?」
沒錯,如果程式很短、都是你一個人寫,通常問題不大。但現實世界的程式可不是這樣:

1.程式專案很大

有時候一個程式檔案就上千行,變數遍佈各個函式、類別、甚至不同模組。
你不可能每次都靠記憶去判斷它們的型別。

2.多人合作

在團隊專案裡,你可能要維護別人寫的程式碼。變數命名風格不一定跟你一樣,光靠名字無法完全知道資料型態。
例如看到 data,它可能是整數、浮點數、字串,甚至是一個列表或字典。

3.程式邏輯可能改變型別

有些變數的值會在程式運行時改變型別,例如從數字變成字串、從字串變成列表。
如果直接使用而不確認型別,容易出錯。

所以,type() 就像一個變數偵探,可以快速告訴你「這個變數裡面到底裝的是什麼」,幫助你避免出現奇怪的錯誤,也方便你理解、維護程式碼。

今日結語

今天,我們學會了:

  • 變數就像一個櫃子,可以幫你存放資料
  • 櫃子裡的東西還能被替換,這就是「變數迭代」
  • 資料有不同的型別(數字、文字、布林值…),而 type() 就是檢查櫃子裡放了什麼的好幫手

到這裡,你已經能駕馭一條最基礎的小蛇:它不只會記住你的東西,還能告訴你「這東西到底是什麼類型」。
是不是比你想像的更溫馴?🐍✨(應該有吧!!)

明日預告

明天,我們要讓蛇第一次「開口」和你互動!
透過 input(),程式可以主動問你問題,而你輸入的答案又能被轉換成數字、字串,甚至拿來做運算。
這會是你從「單向輸出」進入「雙向對話」的第一步。
那今天的練功日就結束囉!辛苦啦!我們明天見~

如果有任何問題,歡迎在底下留言~
若覺得內容還不錯的話!也可以幫我點個like,你們的支持也是我最大的動力~/images/emoticon/emoticon41.gif


上一篇
【Day3】你的養蛇場準備好了嗎?:Python 環境安裝:Anaconda、Jupyter Notebook
下一篇
【Day5】程式會跟你對話啦:輸入 input() 與資料型別轉換
系列文
Python 小白的逆襲:30 天從零到能教人的精華筆記,寫給迷惘的你與當年的我自己!8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言