變量是Python編程中存儲數(shù)據(jù)的基本單元,如同一個個帶標(biāo)簽的容器,用于存放數(shù)字、文本、布爾值等各類數(shù)據(jù)。與 Java 等強類型語言不同,Python 的變量無需提前聲明類型,賦值時自動確定類型,這種 “動態(tài)類型” 特性讓變量定義更靈活。不同類型的變量之間常需要轉(zhuǎn)換以滿足運算需求,掌握變量的定義方法和類型轉(zhuǎn)換規(guī)則,是 Python 入門的核心技能。
一、Python 變量的定義方法
Python 變量的定義遵循 “賦值即定義” 的原則,通過等號=將數(shù)據(jù)與變量名關(guān)聯(lián),語法格式為:
變量名 = 數(shù)據(jù)
(一)變量名的命名規(guī)則
組成規(guī)則:只能包含字母(a-z、A-Z)、數(shù)字、下劃線(_),且不能以數(shù)字開頭。
合法示例:age、user_name、score1;
非法示例:2nd_name(以數(shù)字開頭)、user@name(含特殊字符 @)。
大小寫敏感:Age和age是兩個不同的變量。
禁用關(guān)鍵字:不能使用 Python 的保留字(如if、for、class等)作為變量名。
可通過以下代碼查看所有關(guān)鍵字:
import keywordprint(keyword.kwlist)
命名規(guī)范:推薦使用小寫字母,多個單詞用下劃線連接(蛇形命名法),如student_score,做到 “見名知意”。
(二)基本類型變量的定義示例
Python 中常見的基本數(shù)據(jù)類型包括整數(shù)(int)、浮點數(shù)(float)、字符串(str)、布爾值(bool),變量定義時會自動匹配類型:
整數(shù)(int):無小數(shù)部分的數(shù)字
age = 25 # 整數(shù)變量,type(age) 返回 intyear = -3 # 支持負(fù)數(shù)
浮點數(shù)(float):帶小數(shù)部分的數(shù)字
height = 1.75 # 浮點數(shù)變量,type(height) 返回 floatweight = 60.5
字符串(str):用單引號(')或雙引號(")包裹的文本
name = "Alice" # 字符串變量,type(name) 返回 strmessage = 'Hello, Python'multi_line = """這是多行字符串""" # 三引號支持多行文本
布爾值(bool):僅包含True(真)和False(假)兩個值
is_student = True # 布爾變量,type(is_student) 返回 boolhas_finished = False
多變量同時賦值:可一次性為多個變量賦值,提高代碼簡潔性
a, b, c = 1, 2, 3 # 分別賦值:a=1,b=2,c=3x = y = z = 0 # 多個變量賦相同值:x=y=z=0
二、Python 變量的類型轉(zhuǎn)換
當(dāng)不同類型的變量需要參與運算(如字符串與數(shù)字拼接)或滿足函數(shù)參數(shù)要求時,需進行類型轉(zhuǎn)換。Python 提供了內(nèi)置函數(shù)實現(xiàn)變量類型的顯式轉(zhuǎn)換,常見轉(zhuǎn)換如下:
(一)常見類型轉(zhuǎn)換函數(shù)
函數(shù)功能描述示例
int(x)將 x 轉(zhuǎn)換為整數(shù)int("123") → 123;int(3.8) → 3
float(x)將 x 轉(zhuǎn)換為浮點數(shù)float("3.14") → 3.14;float(5) → 5.0
str(x)將 x 轉(zhuǎn)換為字符串str(123) → "123";str(True) → "True"
bool(x)將 x 轉(zhuǎn)換為布爾值bool(0) → False;bool("") → False
(二)轉(zhuǎn)換示例及注意事項
字符串與數(shù)字的轉(zhuǎn)換
字符串必須符合目標(biāo)類型的格式,否則會報錯:
# 合法轉(zhuǎn)換num_str = "123"num_int = int(num_str) # 轉(zhuǎn)換為整數(shù)123num_float = float(num_str) # 轉(zhuǎn)換為浮點數(shù)123.0# 非法轉(zhuǎn)換(會報錯)int("123.45") # 字符串含小數(shù),無法直接轉(zhuǎn)為整數(shù)int("abc") # 字符串非數(shù)字,轉(zhuǎn)換失敗
數(shù)字與布爾值的轉(zhuǎn)換
0 和空值轉(zhuǎn)換為False,非 0 值轉(zhuǎn)換為True:
print(bool(0)) # Falseprint(bool(1)) # Trueprint(bool(-3.14)) # Trueprint(bool("")) # False(空字符串)print(bool("a")) # True(非空字符串)
列表、元組等容器類型的轉(zhuǎn)換
可通過list()、tuple()等函數(shù)實現(xiàn)容器類型的互轉(zhuǎn):
nums_tuple = (1, 2, 3)nums_list = list(nums_tuple) # 元組轉(zhuǎn)列表:[1, 2, 3]fruits_list = ["apple", "banana"]fruits_tuple = tuple(fruits_list) # 列表轉(zhuǎn)元組:("apple", "banana")
隱式類型轉(zhuǎn)換
Python 會在運算中自動進行安全的類型轉(zhuǎn)換(僅數(shù)字類型之間):
result = 3 + 4.5 # 整數(shù)3自動轉(zhuǎn)為浮點數(shù)3.0,結(jié)果為7.5(float類型)
(三)類型轉(zhuǎn)換的典型應(yīng)用場景
用戶輸入處理:input()函數(shù)接收的用戶輸入默認(rèn)為字符串,需轉(zhuǎn)換為數(shù)字才能運算:
age_str = input("請輸入年齡:") # 輸入"20",類型為strage = int(age_str) # 轉(zhuǎn)換為整數(shù)20print("明年年齡:", age + 1) # 正確運算:21
數(shù)據(jù)格式化輸出:將數(shù)字轉(zhuǎn)換為字符串實現(xiàn)拼接:
score = 95report = "你的分?jǐn)?shù)是:" + str(score) # 轉(zhuǎn)換為字符串才能拼接print(report) # 輸出:你的分?jǐn)?shù)是:95
三、常見錯誤與注意事項
類型不匹配錯誤:未轉(zhuǎn)換類型直接混合運算(如字符串 + 數(shù)字)會報錯:
print("score: " + 95) # 報錯:Can't convert 'int' object to str implicitly
需改為:print("score: " + str(95))。
轉(zhuǎn)換失敗處理:不確定轉(zhuǎn)換是否成功時,可使用try-except捕獲異常:
num_str = "12a3"try: num = int(num_str)except ValueError: print("轉(zhuǎn)換失敗,字符串不是有效數(shù)字")
避免不必要的轉(zhuǎn)換:如int(123)、str("abc")等冗余轉(zhuǎn)換,會降低代碼效率。
Python 變量的定義簡潔靈活,無需提前聲明類型,但其命名需遵循規(guī)范以保證代碼可讀性。類型轉(zhuǎn)換則是處理不同類型數(shù)據(jù)交互的關(guān)鍵,通過內(nèi)置函數(shù)可實現(xiàn)大多數(shù)轉(zhuǎn)換需求,同時需注意轉(zhuǎn)換的合法性和異常處理。掌握這些基礎(chǔ)知識,能為后續(xù)學(xué)習(xí)復(fù)雜數(shù)據(jù)結(jié)構(gòu)和算法打下堅實基礎(chǔ)。