确定变量是否在Python中定义


Answers

'a' in vars() or 'a' in globals()

如果你想迂腐,你也可以检查建筑物
'a' in vars(__builtin__)

Question

可能重复:
简单的方法来检查变量是在python中定义的吗?
如何检查Python中是否存在变量?

你怎么知道变量是否已经在运行时的代码中的特定位置被设置? 这并不总是显而易见的,因为(1)变量可以被有条件地设置,并且(2)变量可以被有条件地删除。 我正在寻找诸如Perl中的defined()或PHP中的isset()defined? 在Ruby中。

if condition:
    a = 42

# is "a" defined here?

if other_condition:
    del a

# is "a" defined here?



try:
    a # does a exist in the current namespace
except NameError:
    a = 10 # nope



这可能需要一种可能的情况:

如果您正在使用finally块关闭连接,但在try块中,程序在定义连接之前使用sys.exit()退出。 在这种情况下, finally块将被调用,并且连接关闭语句将失败,因为没有创建连接。




Links