如果存在“x”,则打印“x exists”。
我问这个因为我总是收到这个错误:
UnboundLocalError at /settings/
local variable 'avatarlink' referenced before assignment
答案 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!"