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

A get() like method for checking for Python attributes

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

我想为object.attribute做同样的事情。也就是说,如果没有设置,我已经反对返回False,但是这给了我一些错误,比如

AttributeError: 'bool' object has no attribute 'attribute'


hasattr相比,dict.get(key, default)更直接的类似物是getattr

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

(如果default_value是可选的,则在未找到属性时引发异常。)

例如,您将通过False


你是说hasattr()可能?

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

python.org文档-内置函数-hasattr()

您也可以这样做,这有点混乱,不适用于方法。

1
"attribute" in obj.__dict__


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

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