2024-06-28 19:09:49 发布
网友
为什么在Python中,没有首先在全局范围中声明a,下面的代码可以在Python中工作?在
def setA(): global a a = 5 def printA(): print a setA() printA()
在我看来,这是正确的方法:
基本上与a = 5创建一个新的局部变量的原因相同:当你给一个变量赋值时,Python不关心它是否已经存在。global语句的意思是“在这个范围内使用以下名称现在都被认为是在全局范围内操作的”。在
a = 5
global
无论a是否已经存在,您都可以在模块顶层执行a = 5。因此,您可以在函数内执行global a; a = 5。global使函数内部的赋值与全局级别的赋值一样工作,包括名称是否已经存在并不重要。在
a
global a; a = 5
基本上与
a = 5
创建一个新的局部变量的原因相同:当你给一个变量赋值时,Python不关心它是否已经存在。global
语句的意思是“在这个范围内使用以下名称现在都被认为是在全局范围内操作的”。在无论
a
是否已经存在,您都可以在模块顶层执行a = 5
。因此,您可以在函数内执行global a; a = 5
。global
使函数内部的赋值与全局级别的赋值一样工作,包括名称是否已经存在并不重要。在相关问题 更多 >
编程相关推荐