千峰#1.10.7
# global 变量的范围 # 局部变量 全局变量 # 声明在函数外层是全局的,所有函数都可以访问 name = '月月' def func(): # 函数内部声明的变量,局部变量仅限于在函数内部使用 s = 'abcd' s += 'X' print(s, name) def func1(): global name # 不修改全局变量,只是获取打印,但是如果要发生修改全局变量,则需要在函数内部声明:global 变量名 print(name) name += '会弹吉他' # 报错: 函数内部的变量可以随便修改赋值,但是全局的变量就不能随便在函数体中进行修改 print('func2修改后的name是:', name) # print(s) 报错 def func2(): name = "小月月" # 局部变量与全局变量同名 name += '弹吉他的小美女' print(name) # func2() func1() # func2修改后的name是: 月月会弹吉他 func() # abcdX 月月会弹吉他 func2() # 小月月弹吉他的小美女
# 局部和全局 # 全局变量如果是不可变在函数中进行修改需要添加global关键字 # 如果全局变量是可变的,在函数中修改的时候就不需要添加global name = '月月' list1 = [1, 2, 3, 4] def func(): name = '蕊蕊' print(name) def func1(): global name print(name) name += '真漂亮!' # 修改列表 list1.append(8) print(list1) def func2(): name1 = 'lucy' name1 += 'hhhh' print(name1) # 自己的 global name print(name) func1() func() func2()