1. 變量
變量是用于存儲數(shù)據(jù)的標識符或名稱,是存儲在內(nèi)存中的值
Python 是一種動態(tài)類型語言,不需要在聲明變量時指定其類型。變量的類型是在運行時根據(jù)賦給它的值自動確定的
即,首次為其賦值時,才會創(chuàng)建變量
1.1 多重賦值
同時給多個變量賦值,變量和值的個數(shù)要相同
# 逗號表達式
x, y, z = 1, 'Python', 0
print(x, y, z)
原理:元組解包
1.2 對象引用
變量是對對象的引用而不是對象本身,當創(chuàng)建一個對象并將它賦值給一個變量時,實際上是讓這個變量指向該對象
data = [1, 2, 3, 4]
data[0] = 10
可變對象 data 指向的地址沒有變,只是值改變了
2. 變量的作用域
2.1 全局變量
全局變量在當前 .py 文件有效
示例:
number = 100
def print_number():
number = 200
print(f'number: {number}')
def print_number2():
print(f'number2: {number}')
print_number()
print_number2()
打印結果:
number: 200
number2: 100
2.2 變量作用域
number = 100
def print_number():
print(f'number: {number}')
number = 200
這種寫法會報錯:Unresolved reference 'number'
Python 查找變量的順序:局部命名空間 -> 全局命名空間 -> 內(nèi)置命名空間
按就近原則
2.3 global 關鍵字
global 將變量聲明為全局變量
語法: global 變量
number = 100
def print_number():
# 將 number 聲明為全局變量,后續(xù)更改的就是全局變量的值
global number
number = 200
print(f'number: {number}')
def print_number2():
print(f'number2: {number}')
print_number()
print_number2()
打印結果:
number: 200
number2: 200