变量的作用域
来源:互联网 发布:单片机里vss是 编辑:程序博客网 时间:2024/04/27 13:40
python3中增加了nonlocal关键字,在用全局变量时一定要注意作用域的范围。
以下示例演示了如何引用不同的作用域和命名空间,以及如何使用 global和 nonlocal 影响变量绑定:
#-*-coding:utf-8-*-
spam = None
def scope_test():
def do_local():
spam = 'local spam'
def do_nonlocal():
nonlocal spam
spam = 'nonlocal spam'
def do_global():
global spam
spam = 'global spam'
print (spam) #此处输出的是全局变量spam的值
spam = 'test spam'
do_local()
print('after local assignment:',spam)
do_nonlocal()
print('after nonlocal assignment:',spam)
do_global()
#这里的作用域是scope_test函数,即spam是局部的
#和do_global函数中的spam不同
print('after global assignment:',spam)
if '__main__' == __name__:
scope_test()
print (spam)
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- asp.net中数据链路层的创建(1)
- 公司给你戴golden handcuffs了吗
- [双语阅读]比利时创排队上厕所人数最多世界纪录
- asp.net中数据链路层的创建(2)
- 捷径和妙方quick fix and silver bullet
- 变量的作用域
- 在Spring中发现java.lang.ClassCastException: $Proxy1问题解析
- [英语阅读]英政府拟监控社交网站用户信息
- asp.net中数据链路层的创建(3)
- Up in Annie's room 鬼才知道呢
- 股海争霸
- asp.net中数据链路层的创建(4)
- objdump使用
- 应聘切忌夸夸其谈