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) | 判断一个对象是否大于等于另一个对象 |