如果我有一本字典dict
,我想檢查dict['key']
我既可以在try
塊這樣做(的Bleh!),或使用get()
方法,用False
作爲默認值。一個get(),如用於檢查Python的方法屬性
我想爲object.attribute
做同樣的事情。也就是說,我已經有了對象返回False
,如果它沒有被設置,但後來,讓我像
AttributeError: 'bool' object has no attribute 'attribute'
如果我有一本字典dict
,我想檢查dict['key']
我既可以在try
塊這樣做(的Bleh!),或使用get()
方法,用False
作爲默認值。一個get(),如用於檢查Python的方法屬性
我想爲object.attribute
做同樣的事情。也就是說,我已經有了對象返回False
,如果它沒有被設置,但後來,讓我像
AttributeError: 'bool' object has no attribute 'attribute'
更直接的模擬到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 - Built in functions - hasattr()
你也可以做到這一點,這是一個有點更加混亂和方法都不起作用。
"attribute" in obj.__dict__
,用於檢查重點是在一本字典,你可以使用in
:'key' in dictionary
。
對於對象的屬性檢查使用hasattr()
功能:hasattr(obj, 'attribute')
只有解決這個問題的答案,這兩個選項用於檢查由OP提供的字典是Bleh! – 2017-02-09 16:01:33