python - hasattr 调用了哪种魔法方法?

标签 python methods

hasattr调用了哪个魔法方法方法?

getattr(__o, name) 也可以称为 __o.__getattr__(name)

setattr(__o, name) 也可以称为 __o.__setattr__(name)

但是 hasattr 的等价物是什么?

我知道 in 关键字的关联魔术方法是 __contains__

最佳答案

hasattr() 没有特定的 dunder 方法。它本质上等同于:

def hasattr(object, name):
    try:
        getattr(object, name)
        return True
    except AttributeError:
        return False

所以它依赖于 getattr() 使用的相同的 dunder 方法。

关于python - hasattr 调用了哪种魔法方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73198894/

相关文章:

objective-c - Objective C/C静态方法性能

php - PHP 接口(interface)有属性吗?

python - 三元表示中的快速数字总和(Python)

python - Pandas:每行采用一个字符串,用逗号分隔,并向列表中添加唯一的单词

python - 如何为对象列表调用相同的方法?

java - 我需要使用在不同类的类内的方法中创建的多个字符串

python - 无法在另一个静态方法中调用静态方法

python - 根据模板使用空格分割字符串

python - KML 到 Python 中的字符串?

android - ScrollView ScrollBy 方法有 2 个参数