通过关键字global声明为全局变量,可修改全局变量的值
var1 = 1 # 定义全局变量
def change_val():
var1 = 5 # 定义局部变量
print("change_val after val:",var1)
def change_val_by_global():
global var1 # 声明全局变量
var1 = 5
print("change_val_by_global after val:", var1)
print("var1", var1) # var1 1
change_val() # change_val after val: 5
print("var1", var1) # var1 1
change_val_by_global() # change_val_by_global after val: 5
print("var1", var1) # var1 5
列表,字典,集合,类都可以在函数中修改
lst = [1, 2, 3]
dct = {"1": "one", "2": "two"}
st = {"1", "2", "3"}
def change():
lst[0] =5
dct["2"] = "three"
st.add("5")
print("lst", lst)
print("dct", dct)
print("st", st)
"""OUT
lst [1, 2, 3]
dct {'1': 'one', '2': 'two'}
st {'1', '2', '3'}
"""
change()
print("lst", lst)
print("dct", dct)
print("st", st)
"""OUT
lst [5, 2, 3]
dct {'1': 'one', '2': 'three'}
st {'1', '2', '5', '3'}
"""