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


78

如果我有字典,dict并且想检查一下,则dict['key']可以将其作为一个try块(非常好!),也可以使用get()方法False作为默认值。

我想为做同样的事情object.attribute。也就是说,False如果尚未设置对象,我已经有要返回的对象,但这给了我类似的错误

AttributeError:'bool'对象没有属性'attribute'

Answers:


124

更直接的类似物dict.get(key, default)hasattrgetattr

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

(在哪里default_value是可选的,如果未找到,则在no属性上引发异常。)

例如,您将通过False



7

要检查密钥是否在字典中,您可以使用in'key' in dictionary

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


唯一可以解决以下事实的答案:检查OP给出的命令的两个选项都是Bleh!
疯狂物理学家
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.