如果我有一本字典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)
比hasattr
is更直接的类比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')