如何在Python中轻松检查变量是否已定义?

37 浏览
0 Comments

如何在Python中轻松检查变量是否已定义?

这个问题已经有了答案:

如何检查变量是否存在?

是否有任何方法可以检查是否定义了具有指定名称的变量(类成员或独立变量)? 例如:

if "myVar" in myObject.__dict__ : # not an easy way
  print myObject.myVar
else
  print "not defined"

admin 更改状态以发布 2023年5月23日
0
0 Comments
try:
    print myObject.myVar
except NameError:
    print "not defined"

的中文意思是“123”。

0
0 Comments

以下是一种简洁的方式:

print myObject.myVar if hasattr(myObject, 'myVar') else 'not defined'

然而,htw的方法更符合Pythonic风格。

hasattr()x in y.__dict__是不同的,hasattr()考虑了继承属性和从__getattr__返回的动态属性,而y.__dict__仅包含是y实例的属性对象。

0