用于检查Python属性的get()方法

如果我有字典dict并且想检查dict['key']我可以在try块(bleh!)中使用,或者使用get()方法,使用False作为默认值。

我想为object.attribute做同样的事情。 也就是说,如果没有设置,我已经有了返回False对象,但是那样会给我带来错误

AttributeError:'bool'对象没有属性'attribute'

hasattr更类似dict.get(key, default)getattr

 val = getattr(obj, 'attr_to_check', default_value) 

(其中default_value是可选的,如果找不到,则在没有属性的情况下引发exception。)

举个例子,你会通过False

你的意思是hasattr()也许?

 hasattr(object, "attribute name") #Returns True or False 

Python.org doc – 内置函数 – hasattr()

你也可以做到这一点,这是有点混乱,不适用于方法。

 "attribute" in obj.__dict__ 

为了检查密钥是否在字典中,您可以in字典中使用: 'key' in dictionary

为了检查对象中的属性,使用hasattr()函数: hasattr(obj, 'attribute')