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