python魔术方法
python中的魔术方法
Python 中的魔术方法是特殊命名的方法,它们以双下划线开头和结尾,并具有特殊的用途。以下是 Python 中常用的一些魔术方法:
getitem: 用于获取对象的索引值对应的值,配合索引操作([])使用。
setitem: 用于设置对象的索引值对应的值,配合索引操作([])使用。
delitem: 用于删除对象的索引值对应的值,配合索引操作([])使用。
repr: 用于返回对象的字符串表示,通常用于调试和日志记录。
str: 用于返回对象的字符串表示,可读性较好,常用于打印对象。
iter: 用于使对象可迭代,配合迭代器使用。
next: 用于获取迭代器中的下一个元素,配合迭代器使用
add, sub, mul, div 等:用于实现对象的加法、减法、乘法、除法等运算。
eq: 用于定义对象的相等性操作,配合等于操作符(==)使用。
lt, le, gt, ge: 用于定义对象的比较操作,分别对应小于、小于等于、大于、大于等于操作符。
getattr: 当访问对象的属性不存在时调用,允许动态返回属性值。
setattr: 当设置对象的属性时调用,允许在赋值操作时自定义逻辑。
new 在对象创建过程中是第一个被调用的方法。
init: 初始化方法,当一个对象被创建时调用。
del: 析构方法,当一个对象被销毁时调用。
call: 使对象可以被调用,类似于函数的调用,可以直接调用对象本身。
len: 返回对象的长度,配合内置函数 len() 使用。
hash: 返回对象的哈希值,配合内置函数 hash() 使用。
dir: 返回对象的属性和方法列表,配合内置函数 dir() 使用。
format: 定义对象被内置函数 format() 调用时的格式化字符串行为。
bool: 用于定义对象的布尔值,配合内置函数 bool() 使用。
copy 和 deepcopy: 用于对象的浅拷贝和深拷贝操作。
enter 和 exit: 用于创建上下文管理器,配合 with 语句使用。
contains: 用于判断对象是否包含某个值,配合 in 关键字使用。
getattribute: 当访问对象的属性时调用,无论属性是否存在。
index: 返回对象的整数值,配合内置函数 bin(), oct(), hex() 使用。
reduce 和 reduce_ex: 用于序列化对象,将对象转换为可被 pickle 模块序列化的形式。
bytes: 用于返回对象的字节表示,配合内置函数 bytes() 使用。
- 共36个常见27个不常见9个

浙公网安备 33010602011771号