局部变量 - 本地运行时错误

时间:2011-02-04 18:39:36

标签: python

x=5

def printx()
   print x
   x=10

运行此命令会产生unboundlocal错误

但是当我的功能只是打印x时,我没有错误..

1 个答案:

答案 0 :(得分:1)

只需在函数中为x赋值即可使其成为局部变量,从而遮蔽前一行指定的全局x。在您尝试打印它的行上,x的本地版本尚未初始化。令人好奇的是,在后续行上做某事会影响到之前的行,但这就是它的工作原理。

您不需要任何特殊声明来读取全局变量,因此它可以在没有赋值的情况下工作。但是,如果您要分配给全局x而不是制作新的本地x,则必须在分配global x之前指定{{1}}。

相关问题