Python中有局部变量和全局变量,当局部变量名字和全局变量名字重复时,局部变量会覆盖掉全局变量。
a = 5
def sql():
# global a
a = a*a
print(a)
sql()
print(a)
我们在全局命名空间里定义一个变量a。我们再在函数内给变量a赋值,然后Python会假定a是一个局部变量。然而,我们并没有在访问前声明一个局部变量a,结果就是会出现一个UnboundLocalError的错误。取消global语句的注释就能解决这个问题。
本文探讨了Python中局部变量和全局变量的概念,并通过一个具体的例子解释了当局部变量与全局变量名称相同时,如何避免UnboundLocalError错误。文中演示了如何通过使用global关键字来正确地引用全局变量。
Python中有局部变量和全局变量,当局部变量名字和全局变量名字重复时,局部变量会覆盖掉全局变量。
a = 5
def sql():
# global a
a = a*a
print(a)
sql()
print(a)
我们在全局命名空间里定义一个变量a。我们再在函数内给变量a赋值,然后Python会假定a是一个局部变量。然而,我们并没有在访问前声明一个局部变量a,结果就是会出现一个UnboundLocalError的错误。取消global语句的注释就能解决这个问题。
1392
466
768

被折叠的 条评论
为什么被折叠?