global
代码
# global关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。
gcount = 0
def global_test():
print(gcount)
def global_counter():
global gcount
gcount += 1
return gcount
gc = global_counter
def global_counter_test():
print(gc(),gc(),gc())
global_counter_test()
输出
1 2 3
nonlocal
代码
# nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量。
def make_counter():
count = 0
def counter():
nonlocal count
count += 1
return count
return counter
def make_counter_test():
mc = make_counter()
print(mc(),mc(),mc())
make_counter_test()
def tester(statrt):
state = statrt
def nestrd(lable): # 工厂函数
nonlocal state
lable += 1
return lable, state
return nestrd
f = tester('zhou')
print(f(2))
print(f(3))
print(f(4))
输出
1 2 3
(3, 'zhou')
(4, 'zhou')
(5, 'zhou')
今天的文章global和nonlocal分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9525.html