调用哪个魔术方法hasattr?
getattr(__o, name)也可以称为__o.__getattr__(name)
setattr(__o, name)也可以称为__o.__setattr__(name)
但 相当于什么hasattr?
我知道关键字的关联魔法方法in是__contains__。
没有具体的 dunder 方法hasattr()。它本质上相当于:
def hasattr(object, name):
try:
getattr(object, name)
return True
except AttributeError:
return False
Run Code Online (Sandbox Code Playgroud)
因此它依赖于getattr().