- python引用变量的顺序:当前作用域局部变量———>外层作用域变量————>当前模块中的全局变量————>python 的内置变量。
- global 和nonlocal 的区别
- global 在函数其他作用域中修改全局变量需求声明,不修改不用声明
不修改全局变量: gcount =0 print("外部的内存地址%d" %id(gcount)) def global_test(): print("内部的内存地址%d" %id(gcount)) print(gcount) global_test()# 结果是0 print(gcount) # 结果是0
修改全局变量 gcount = 0 print("外部的内存地址%d" %id(gcount)) def global_test(): global gcount print("内部的内存地址%d" %id(gcount)) gcount+=1 print(gcount) global_test() print(gcount) #运行结果: 外部的内存地址140721024578352 内部的内存地址140721024578352 1 1
# 在函数内部定义全局变量,外部是可以使用的,在函数内部使用需要声明。 def global_test(): global gcount # 定义一个全局变量 gcount=0 gcount+=1 print(gcount) global_test() gcount+=2 print(gcount) 运行结果:1 3
-
nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量
def counter(): number = 10 def incounter(): nonlocal number # 必须nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量 number +=1 return number return incounter num=counter()() print(num)
Python 引用变量的顺序
猜你喜欢
转载自blog.csdn.net/weixin_44224529/article/details/88788736
今日推荐
周排行