如果我有一本字典dict并且我想检查dict['key']我可以在一个try块中这样做(bleh!)或使用该get()方法,False作为默认值。
我想为object.attribute. 也就是说,False如果尚未设置对象,我已经有要返回的对象,但这会给我带来如下错误
AttributeError:“布尔”对象没有属性“属性”
如果我有一本字典dict并且我想检查dict['key']我可以在一个try块中这样做(bleh!)或使用该get()方法,False作为默认值。
我想为object.attribute. 也就是说,False如果尚未设置对象,我已经有要返回的对象,但这会给我带来如下错误
AttributeError:“布尔”对象没有属性“属性”
dict.get(key, default)比hasattris更直接的类比getattr。
val = getattr(obj, 'attr_to_check', default_value)
(wheredefault_value是可选的,如果未找到,则在没有属性时引发异常。)
对于您的示例,您将通过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')