2017-10-12 21 views

回答

2

不是沒有。你必須捕獲異常,並返回None代替:

def method(foo): 
    try: 
     return foo.bar 
    except (TypeError, AttributeError): 
     return None 

或者,您可以檢查給定對象是否具有使用getattr()該屬性:

def method(foo): 
    return getattr(foo, "bar", None) 
0

我想這應該工作

def method(foo): 
    return foo.bar if foo and hasattr(foo, 'bar') else None 
+0

根據需要進行編輯。 –

相關問題