2.1 什麼是變量?—— 給數據起個 “好記的名字”(附命名規則)
在 Python 裏,“變量” 就像一個 “數據容器”—— 比如你有一個蘋果,想把它放在桌子上,這個 “桌子” 就是變量,蘋果就是數據。簡單説,變量是用來存儲數據、方便後續調用的工具。
2.1.1 變量的基本用法:賦值與調用
用 “=”(賦值符號,注意不是 “等於號”)給變量賦值,格式為:變量名 = 數據。
比如我們想存儲 “年齡” 這個數據,代碼可以這樣寫:
# 定義變量:變量名是age,存儲的數據是20
age = 20
# 調用變量:打印變量裏存儲的數據
print(age) # 運行後會顯示 20
再比如存儲 “名字”:
name = "小美" # 字符串數據需要用引號包裹
print("我的名字是:", name) # 運行後顯示 我的名字是: 小美
小技巧:變量賦值後可以隨時修改,修改後會覆蓋原來的數據:
age = 20
print(age) # 先顯示20
age = 21 # 修改變量的值
print(age) # 再顯示21
2.1.2 變量命名規則:3 個 “必須”+2 個 “建議”
如果變量名起得混亂,後續代碼會很難維護,所以要遵守以下規則:
|
類別
|
具體要求
|
示例(正確 / 錯誤)
|
|
必須遵守
|
1. 只能由 “字母、數字、下劃線” 組成
|
正確: |
|
必須遵守
|
2. 不能以數字開頭
|
正確: |
|
必須遵守
|
3. 不能用 Python “關鍵字”(比如 print、if、for)
|
正確: |
|
建議遵守
|
1. 用 “小寫字母 + 下劃線”(蛇形命名法),符合 Python 習慣
|
正確: |
|
建議遵守
|
2. 變量名要 “見名知意”,不要用 a、b、c 這種模糊的名字
|
正確: |
2.1.3 即時練習:定義 3 個變量
嘗試定義 “身高”“性別”“是否學生” 3 個變量,然後用 print () 打印出來。
示例參考:
# 定義變量
height = 165.5 # 身高(小數)
gender = "女" # 性別(字符串)
is_student = True # 是否學生(布爾值)
# 打印變量
print("身高:", height)
print("性別:", gender)
print("是否學生:", is_student)
2.2 最常用的數據類型:字符串、數字、布爾值
變量裏存儲的數據,有不同的 “類型”—— 就像盒子裏裝的可能是蘋果(字符串)、雞蛋(數字)、核桃(布爾值),不同類型的操作方式不同。Python 裏最常用的 3 種基礎類型如下:
2.2.1 字符串(str):用引號包裹的 “文字數據”
只要用單引號或雙引號包裹的內容,都是字符串,比如名字、地址、句子等。
基礎用法:
# 字符串定義(單雙引號都可以)
message1 = "Python真有趣!"
message2 = '今天學變量和數據類型'
# 字符串拼接:用“+”把多個字符串連起來
full_message = message1 + " " + message2
print(full_message) # 運行後顯示:Python真有趣! 今天學變量和數據類型
# 字符串重複:用“*”讓字符串重複多次
star = "★"
print(star * 5) # 運行後顯示:★★★★★
注意事項:
- 單引號和雙引號不能混用,比如
"Hello'會報錯; - 如果字符串裏本身有引號,比如 “他説:‘Python 很簡單’”,可以用 “外雙內單” 或 “外單內雙”:
print("他説:'Python很簡單'") # 外雙內單,正確
print('她説:"我學會了變量"') # 外單內雙,正確
2.2.2 數字(int/float):用於計算的 “數值數據”
數字分兩種:
- 整數(int):沒有小數點的數,比如 10、200、-5;
- 浮點數(float):有小數點的數,比如 3.14、165.5、-0.8。
基礎用法:數學運算
數字可以直接用+、-、*、/做運算,變量存儲的數字也一樣:
# 整數運算
a = 10
b = 3
print(a + b) # 加法:13
print(a - b) # 減法:7
print(a * b) # 乘法:30
print(a / b) # 除法:3.333...(結果是float)
# 浮點數運算
c = 2.5
d = 1.5
print(c + d) # 4.0(float)
print(c * d) # 3.75(float)
小技巧:常用運算符號
|
符號
|
作用
|
示例
|
結果
|
|
|
加法
|
|
8
|
|
|
減法
|
|
2
|
|
|
乘法
|
|
15
|
|
|
除法(結果 float)
|
|
1.666…
|
|
|
整除(取整數部分)
|
|
1
|
|
|
取餘(餘數)
|
|
2
|
|
|
冪運算(幾次方)
|
|
125(5³)
|
2.2.3 布爾值(bool):只有 True 和 False 的 “是非數據”
布爾值專門表示 “對” 或 “錯”、“是” 或 “否”,只有兩個可能的值:True(真,對應 1)和False(假,對應 0)。
常用場景:判斷條件
# 定義布爾值變量
is_adult = True # 是否成年
has_money = False # 是否有錢
# 布爾值運算(and/or/not)
# and:兩個都為True,結果才是True
can_buy = is_adult and has _money
print(can_buy) # False(雖然成年,但沒錢,所以不能買)
# or:只要有一個為True,結果就是True
has_condition = is_adult or has_money
print(has_condition) # True(至少成年了)
# not:取反(True變False,False變True)
is_not_adult = not is_adult
print(is_not_adult) # False
2.2.4 如何查看數據類型?用 type () 函數
如果不確定變量的數據類型,可以用type(變量名)查看:
name = "小明"
age = 20
height = 175.5
is_student = True
print(type(name)) # <class 'str'>(字符串)
print(type(age)) # <class 'int'>(整數)
print(type(height)) # <class 'float'>(浮點數)
print(type(is_student)) # <class 'bool'>(布爾值)
2.3 類型轉換:讓不同數據 “互通有無”
有時候我們需要把一種數據類型轉換成另一種 —— 比如把 “字符串 100” 轉換成 “整數 100” 才能做加法。Python 提供了 3 個常用的類型轉換函數:str()(轉字符串)、int()(轉整數)、float()(轉浮點數)。
2.3.1 常見轉換場景與示例
|
轉換需求
|
代碼示例
|
結果
|
説明
|
|
數字轉字符串
|
|
|
常用於拼接字符串,比如 “年齡:20 歲”
|
|
字符串轉整數
|
|
|
只有 “純數字字符串” 能轉整數,比如 |
|
字符串轉浮點數
|
|
|
純整數字符串也能轉浮點數,比如 |
|
整數轉浮點數
|
|
|
整數轉浮點數不會丟失數據
|
|
浮點數轉整數
|
|
|
浮點數轉整數會 “截斷小數部分”,不是四捨五入
|
2.3.2 實戰案例:拼接 “年齡描述”
比如我們有一個整數變量age = 22,想輸出 “我今年 22 歲”,需要把整數轉成字符串才能拼接:
# 錯誤寫法:整數和字符串不能直接拼接
age = 22
# print("我今年" + age + "歲") # 會報錯:TypeError(類型錯誤)
# 正確寫法:先把整數轉成字符串
age_str = str(age)
print("我今年" + age_str + "歲") # 運行後顯示:我今年22歲
2.3.3 即時練習:計算 “總分”
假設你有 3 門課的成績,其中兩門是字符串類型,一門是整數類型,需要先轉成數字再計算總分:
# 原始成績(注意類型)
score1 = "95" # str類型
score2 = 88 # int類型
score3 = "92.5" # str類型
# 步驟1:把字符串成績轉成數字
score1_int = int(score1)
score3_float = float(score3)
# 步驟2:計算總分和平均分
total = score1_int + score2 + score3_float
average = total / 3
# 步驟3:打印結果(注意拼接時轉字符串)
print("總分:" + str(total))
print("平均分:" + str(average))
2.4 迷你實戰:用變量記錄 “個人信息並計算”
實戰目標:
- 定義變量存儲個人信息(姓名、年齡、3 門課成績);
- 計算 3 門課的總分和平均分;
- 輸出完整的個人信息描述(比如 “我叫小美,今年 20 歲,3 門課總分 285,平均分 95”)。
步驟拆解與代碼示例:
# 步驟1:定義個人信息變量
name = "小美"
age = 20
score _math = 98 # 數學成績(int)
score _english = 92 # 英語成績(int)
score _chinese = 95 # 語文成績(int)
# 步驟2:計算總分和平均分
total _score = score _math + score _english + score _chinese
average _score = total _score / 3 # 平均分是float類型
# 步驟3:輸出完整描述(注意類型轉換)
print("我叫" + name + ",今年" + str(age) + "歲,")
print("3門課總分" + str(total _score) + ",平均分" + str(average _score))
拓展挑戰:
嘗試給 “年齡” 加 1(模擬 “過了一年”),然後重新計算如果數學成績加 5 分後的新總分,看看輸出結果會怎麼變。
2.5 課後練習:修復錯誤代碼 + 完成需求
練習 1:修復錯誤代碼
以下代碼有 3 處錯誤(變量命名、類型拼接、字符串引號),請修改後讓它正常運行:
# 錯誤代碼
1name = "小李" # 錯誤1:變量名開頭是數字
age = 18
print("姓名:" + 1name + ",年齡:" + age) # 錯誤2:age是int,不能直接拼接;錯誤3:變量名錯誤
message = '他説:"Python不難!' # 錯誤4:字符串引號不閉合
練習 2:完成 “購物計算” 需求
定義變量存儲 “商品名稱”“單價”“購買數量”,計算 “總價”(單價 × 數量),然後輸出 “我買了 2 個蘋果,單價 5 元,總價 10 元” 這樣的描述(注意單價可能是小數,比如 5.5 元)。
本章小結
本章我們掌握了 Python 中 “數據存儲與操作” 的核心基礎:
- 變量:用
變量名=數據定義,遵守命名規則,能方便存儲和調用數據; - 3 種基礎數據類型:
- 字符串(str):引號包裹,可拼接 / 重複;
- 數字(int/float):可做數學運算;
- 布爾值(bool):True/False,用於判斷;
- 類型轉換:用
str()/int()/float()實現不同類型的轉換,解決拼接和計算問題; - 通過迷你實戰和練習,學會了用變量和數據類型解決簡單的實際問題。
下一章,我們將學習 “函數與模塊”,讓代碼變得更簡潔、可複用 —— 比如把 “計算總分” 的代碼打包成一個工具,下次用的時候直接調用就好!