🐍python 中的特殊方法(魔术方法)
2023-3-8
| 2023-5-9
0  |  0 分钟
置顶
type
status
slug
summary
tags
category
icon
password
URL
date
以下是一些常用的双下划线方法:
  • __init__: 初始化对象
  • __str__: 返回对象的字符串表示形式
  • __repr__: 返回对象的代码表示形式
  • __len__: 返回对象的长度
  • __getitem__: 获取对象的元素
  • __setitem__: 设置对象的元素
  • __delitem__: 删除对象的元素
 
 
以下是 Python 中的所有魔术方法:
  • __new__(cls[, ...]): 创建并返回一个新对象。通常在不可变类型中使用。
  • __init__(self[, ...]): 初始化一个新对象。通常在可变类型中使用。
  • __del__(self): 对象被垃圾回收时调用的方法。
  • __str__(self): 对象被转换为字符串时调用的方法。使用 str() 函数或 print() 函数时会自动调用该方法。
  • __repr__(self): 对象被转换为代码表示形式时调用的方法。使用 repr() 函数时会自动调用该方法。
  • __format__(self, format_spec): 对象被格式化为字符串时调用的方法。使用 format() 函数时会自动调用该方法。
  • __bytes__(self): 对象被转换为字节串时调用的方法。使用 bytes() 函数时会自动调用该方法。
  • __hash__(self): 对象被哈希时调用的方法。必须返回一个整数。
  • __bool__(self): 对象被转换为布尔值时调用的方法。必须返回 True 或 False。
  • __getattr__(self, name): 获取对象的不存在的属性时调用的方法。
  • __setattr__(self, name, value): 设置对象的属性时调用的方法。
  • __delattr__(self, name): 删除对象的属性时调用的方法。
  • __dir__(self): 获取对象的属性列表时调用的方法。
  • __getattribute__(self, name): 获取对象的属性时调用的方法。
  • __set__(self, instance, value): 将描述器设置为一个属性时调用的方法。
  • __get__(self, instance, owner): 获取描述器的属性值时调用的方法。
  • __delete__(self, instance): 删除描述器的属性值时调用的方法。
  • __len__(self): 获取对象的长度时调用的方法。
  • __length_hint__(self): 获取对象的长度提示时调用的方法。
  • __getitem__(self, key): 获取对象的元素时调用的方法。可以通过索引或切片访问。
  • __setitem__(self, key, value): 设置对象的元素时调用的方法。可以通过索引或切片访问。
  • __delitem__(self, key): 删除对象的元素时调用的方法。可以通过索引或切片访问。
  • __missing__(self, key): 获取字典中不存在的键时调用的方法。
  • __iter__(self): 获取对象的迭代器时调用的方法。
  • __reversed__(self): 获取对象的反向迭代器时调用的方法。
  • __next__(self): 获取迭代器的下一个元素时调用的方法。
  • __call__(self[, args...]): 对象被调用时调用的方法。
  • __enter__(self): 进入上下文管理器时调用的方法。
  • __exit__(self, exc_type, exc_value, traceback): 离开上下文管理器时调用的方法。
  • __copy__(self): 浅拷贝对象时调用的方法。
  • __deepcopy__(self, memo): 深拷贝对象时调用的方法。
  • __eq__(self, other): 判断对象是否相等时调用的方法。使用 == 运算符时会自动调用该方法。
  • __ne__(self, other): 判断对象是否不相等时调用的方法。使用 != 运算符时会自动调用该方法。
  • __lt__(self, other): 判断对象是否小于另一个对象时调用的方法。使用 < 运算符时会自动调用该方法。
  • __le__(self, other): 判断对象是否小于等于另一个对象时调用的方法。使用 <= 运算符时会自动调用该方法。
  • __gt__(self, other): 判断对象是否大于另一个对象时调用的方法。使用 > 运算符时会自动调用该方法。
  • __ge__(self, other): 判断对象是否大于等于另一个对象时调用的方法。使用 >= 运算符时会自动调用该方法。
  • __add__(self, other): 对象与另一个对象相加时调用的方法。使用 + 运算符时会自动调用该方法。
  • __sub__(self, other): 对象与另一个对象相减时调用的方法。使用 - 运算符时会自动调用该方法。
  • __mul__(self, other): 对象与另一个对象相乘时调用的方法。使用 * 运算符时会自动调用该方法。
  • __truediv__(self, other): 对象与另一个对象相除时调用的方法。使用 / 运算符时会自动调用该方法。
  • __floordiv__(self, other): 对象与另一个对象整除时调用的方法。使用 // 运算符时会自动调用该方法。
  • __mod__(self, other): 对象与另一个对象取模时调用的方法。使用 % 运算符时会自动调用该方法。
  • __divmod__(self, other): 对象与另一个对象做除法并返回商和余数时调用的方法。使用 divmod() 函数时会自动调用该方法。
  • __pow__(self, other[, modulo]): 对象与另一个对象做幂运算时调用的方法。使用 ** 运算符时会自动调用该方法。
  • __lshift__(self, other): 对象左移另一个对象时调用的方法。使用 << 运算符时会自动调用该方法。
  • __rshift__(self, other): 对象右移另一个对象时调用的方法。使用 >> 运算符时会自动调用该方法。
  • __and__(self, other): 对象按位与另一个对象时调用的方法。使用 & 运算符时会自动调用该方法。
  • __or__(self, other): 对象按位或另一个对象时调用的方法。使用 | 运算符时会自动调用该方法。
  • __xor__(self, other): 对象按位异或另一个对象时调用的方法。使用 ^ 运算符时会自动调用该方法。
  • __radd__(self, other): 另一个对象与对象相加时调用的方法。使用 + 运算符时会自动调用该方法。
  • __rsub__(self, other): 另一个对象与对象相减时调用的方法。使用 - 运算符时会自动调用该方法。
  • __rmul__(self, other): 另一个对象与对象相乘时调用的方法。使用 * 运算符时会自动调用该方法。
  • __rtruediv__(self, other): 另一个对象与对象相除时调用的方法。使用 / 运算符时会自动调用该方法。
  • __rfloordiv__(self, other): 另一个对象与对象整除时调用的方法。使用 // 运算符时会自动调用该方法。
  • __rmod__(self, other): 另一个对象与对象取模时调用的方法。使用 % 运算符时会自动调用该方法。
  • __rdivmod__(self, other): 另一个对象与对象做除法并返回商和余数时调用的方法。使用 divmod() 函数时会自动调用该方法。
  • __rpow__(self, other[, modulo]): 另一个对象与对象做幂运算时调用的方法。使用 ** 运算符时会自动调用该方法。
  • __rlshift__(self, other): 另一个对象左移对象时调用的方法。使用 << 运算符时会自动调用该方法。
  • __rrshift__(self, other): 另一个对象右移对象时调用的方法。使用 >> 运算符时会自动调用该方法。
  • __rand__(self, other): 另一个对象按位与对象时调用的方法。使用 & 运算符时会自动调用该方法。
  • __ror__(self, other): 另一个对象按位或对象时调用的方法。使用 | 运算符时会自动调用该方法。
  • __rxor__(self, other): 另一个对象按位异或对象时调用的方法。使用 ^ 运算符时会自动调用该方法。
  • __iadd__(self, other): 对象与另一个对象相加并赋值时调用的方法。使用 += 运算符时会自动调用该方法。
  • __isub__(self, other): 对象与另一个对象相减并赋值时调用的方法。使用 -= 运算符时会自动调用该方法。
  • __imul__(self, other): 对象与另一个对象相乘并赋值时调用的方法。使用 *= 运算符时会自动调用该方法。
  • __itruediv__(self, other): 对象与另一个对象相除并赋值时调用的方法。使用 /= 运算符时会自动调用该方法。
  • __ifloordiv__(self, other): 对象与另一个对象整除并赋值时调用的方法。使用 //= 运算
技术分享
  • Python
  • 学习
  • 理财收益SSH 免密登录服务器
    目录