如果我有一本字典dict
,我想检查一下dict['key']
我可以在一个try
块(bleh!)中这样做,或者使用该get()
方法,False
作为默认值.
我想做同样的事情object.attribute
.也就是说,False
如果没有设置,我已经有了返回的对象,但是这给了我错误
AttributeError:'bool'对象没有属性'attribute'
Brian.. 112
更直接的类似物dict.get(key, default)
比hasattr
是getattr
.
val = getattr(obj, 'attr_to_check', default_value)
(在哪里default_value
可选,如果没有找到,则在没有属性的情况下引发异常.)
对于你的例子,你会通过False
.
更直接的类似物dict.get(key, default)
比hasattr
是getattr
.
val = getattr(obj, 'attr_to_check', default_value)
(在哪里default_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')