2008-12-10 24 views
49

如果我有一本字典dict,我想檢查dict['key']我既可以在try塊這樣做(的Bleh!),或使用get()方法,用False作爲默認值。一個get(),如用於檢查Python的方法屬性

我想爲object.attribute做同樣的事情。也就是說,我已經有了對象返回False,如果它沒有被設置,但後來,讓我像

AttributeError: 'bool' object has no attribute 'attribute'

回答

79

更直接的模擬到dict.get(key, default)hasattrgetattr

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

(其中default_value是可選的,無屬性拋出一個異常,如果沒有找到。)

對於你的榜樣,你會通過False

6

,用於檢查重點是在一本字典,你可以使用in'key' in dictionary

對於對象的屬性檢查使用hasattr()功能:hasattr(obj, 'attribute')

+0

只有解決這個問題的答案,這兩個選項用於檢查由OP提供的字典是Bleh! – 2017-02-09 16:01:33

相關問題