目录

python中的魔术方法

python中的魔术方法

在Python中,魔术方法(Magic methods)也被称为双下划线方法(dunder methods),是以双下划线(__)开头和结尾的特殊方法。它们用于在类定义中实现特定的行为,例如对象创建、属性访问、算术运算等。下面是一些常用的魔术方法及其功能:

魔术方法 作用
init(self[, …]) 构造函数,创建实例时调用
new(cls[, …]) 创建实例时调用
str(self) 打印对象时调用
repr(self) 返回对象的字符串表示
len(self) 返回对象的长度
getitem(self, key) 获取指定key的值
setitem(self, key, value) 设置指定key的值
delitem(self, key) 删除指定key的值
contains(self, item) 判断item是否在对象中
call(self[, args…]) 将实例作为函数调用
getattr(self, name) 获取对象的属性值
setattr(self, name, value) 设置对象的属性值
delattr(self, name) 删除对象的属性值
iter(self) 返回迭代器对象
next(self) 返回迭代器的下一个元素
enter(self) 进入上下文管理器时调用
exit(self, exc_type, exc_val, exc_tb) 退出上下文管理器时调用
eq(self, other) 判断两个对象是否相等
lt(self, other) 判断一个对象是否小于另一个对象
le(self, other) 判断一个对象是否小于等于另一个对象
gt(self, other) 判断一个对象是否大于另一个对象
ge(self, other) 判断一个对象是否大于等于另一个对象