[英]Why does Python let you instantiate local variables as global from inside a function?
为什么在Python下面的工作,没有在全球范围内第一个声明 ?
def setA():
global a
a = 5
def printA():
print a
setA()
printA()
在我看来,这是正确的方法:
a = None
def setA():
global a
a = 5
def printA():
print a
setA()
printA()
基本上出于同样的原因, a = 5
可以创建一个新的局部变量:当你分配给一个变量时,Python并不关心它是否已经存在。 global
声明仅表示“此范围内以下名称的任何使用现在都被视为在全球范围内运行”。
你可以做a = 5
在模块顶层是否a
已经与否存在。 所以你可以做global a; a = 5
函数内部a global a; a = 5
。 global
使得函数内部的赋值与全局级别的赋值一样,包括名称是否已存在并不重要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.