在Python中,如何检查变量是否存在?

时间:2010-12-04 10:02:06

标签: python debugging variables object

如果存在“x”,则打印“x exists”。

我问这个因为我总是收到这个错误:

UnboundLocalError at /settings/
local variable 'avatarlink' referenced before assignment

5 个答案:

答案 0 :(得分:5)

正如他们在Python中所说,“请求宽恕而非许可更好”。因此,只需尝试访问变量,如果不存在则捕获错误。

try:
    x
    print "x exists"
except UnboundLocalError:
    print "x doesn't exist"

但是,我真的很想知道为什么你认为你需要这样做。通常,您始终在检查其值之前设置变量。

答案 1 :(得分:3)

为什么你需要知道?如果代码因此而中断,可能是因为代码错误而且需要修复。

尽管如此,请尝试检查if 'x' in locals()if 'x' in globals(),并根据您的预期进行检查。

答案 2 :(得分:1)

您可以检查x是否在globals()locals()

答案 3 :(得分:0)

在python中你真的不应该使用尚未设置的变量。如果需要,您可以将avatarLink设置为无。

答案 4 :(得分:0)

try:
  variable
except NameError:
  print "It doesn't Exist!"
else:
  print "It exists!"