通过关键字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'} """