2017-10-12 20 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

根据需要进行编辑。 –

相关问题