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

2024-05-17 04:04:09 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我问这个是因为我总是会犯这个错误:

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

Tags: settingslocal错误variableatassignmentbeforeavatarlink
3条回答

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

正如他们在Python中所说,“请求宽恕总比允许好”。所以,只要尝试访问变量,如果不存在错误,就捕获它。

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

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

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

也就是说,尝试检查if 'x' in locals()if 'x' in globals(),根据您期望的位置而定。

相关问题 更多 >