关于python的变量作用域
#定义变量a
>>> a = 0
>>> print a
0
#定义函数p()
>>> def p():
... print a
...
>>> p()
0
#定义函数p2()
>>> def p2():
... print a
... a = 3
... print a
...
>>> p2() # 运行出错,外部变量a先被引用,不能重新赋值
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "<interactive input>", line 2, in p2
UnboundLocalError: local variable 'a' referenced before assignment
#定义函数p3()
>>> def p3():
... a = 3 # 不引用直接赋值
... print a
...
>>> p3()
3
>>> print a
0 # 外部变量a并未改变
作者:catmelo
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。