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

2024-10-01 05:00:57 发布

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

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

我想为object.attribute做同样的事情。也就是说,如果还没有设置对象,我已经有了要返回False的对象,但是这样会产生如下错误

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


Tags: 对象方法keyfalseget字典object错误
3条回答

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

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

(其中default_value是可选的,如果找不到,则对no属性引发异常。)

对于您的示例,您将通过False

你是说hasattr()也许吧?

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

Python.org doc - Built in functions - hasattr()

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

"attribute" in obj.__dict__

为了检查一个键是否在字典中,您可以使用in'key' in dictionary

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

相关问题 更多 >