网站推广的心得,中山做网站做的好的公司,中国华能集团电子商务平台招标网,网站开发知识培训python 魔术方法备忘录 网上收集了一些#xff0c;列出了比较常用的#xff0c;特别是第一张。 Python中的魔术方法#xff08;Magic Methods#xff09;#xff0c;也被称为特殊方法#xff08;Special Methods#xff09;或双下划线方法#xff08;Dunder Methods列出了比较常用的特别是第一张。 Python中的魔术方法Magic Methods也被称为特殊方法Special Methods或双下划线方法Dunder Methods是以双下划线开头和结尾的方法。这些方法让我们能够实现许多特殊的操作例如算术运算、字符串表示、对象比较等。以下是一些常见的Python魔术方法及其用途
1. 初始化和表示
__init__(self, ...)对象初始化方法构造函数在创建对象时调用。__del__(self)对象销毁方法析构函数在对象被删除时调用。__repr__(self)返回对象的官方字符串表示通常可以通过eval函数重新创建该对象。__str__(self)返回对象的非正式字符串表示通常用于打印对象。
2. 容器和迭代
__len__(self)返回对象的长度适用于内置函数len()。__getitem__(self, key)获取指定键的值用于索引操作。__setitem__(self, key, value)设置指定键的值。__delitem__(self, key)删除指定键的值。__iter__(self)返回迭代器对象定义对象的迭代行为。__next__(self)返回迭代器的下一个值。
3. 算术运算
__add__(self, other)实现加法运算。__sub__(self, other)实现减法运算。__mul__(self, other)实现乘法运算。__truediv__(self, other)实现除法运算。__floordiv__(self, other)实现整数除法运算。__mod__(self, other)实现取模运算。__pow__(self, other)实现幂运算。
4. 反向运算
__radd__(self, other)实现反向加法运算。__rsub__(self, other)实现反向减法运算。__rmul__(self, other)实现反向乘法运算。__rtruediv__(self, other)实现反向除法运算。__rfloordiv__(self, other)实现反向整数除法运算。__rmod__(self, other)实现反向取模运算。__rpow__(self, other)实现反向幂运算。
5. 比较运算
__eq__(self, other)实现等于运算。__ne__(self, other)实现不等于运算。__lt__(self, other)实现小于运算。__le__(self, other)实现小于等于运算。__gt__(self, other)实现大于运算。__ge__(self, other)实现大于等于运算。
6. 类型转换
__int__(self)将对象转换为整数。__float__(self)将对象转换为浮点数。__complex__(self)将对象转换为复数。__bool__(self)将对象转换为布尔值。__index__(self)实现整数类型转换适用于切片操作。
7. 属性访问
__getattr__(self, name)在属性不存在时调用。__getattribute__(self, name)访问任意属性时调用。__setattr__(self, name, value)设置任意属性时调用。__delattr__(self, name)删除任意属性时调用。
8. 上下文管理
__enter__(self)进入上下文管理器时调用。__exit__(self, exc_type, exc_value, traceback)退出上下文管理器时调用。
9. 调用对象
__call__(self, ...)使对象可以像函数一样被调用。
这些魔术方法可以让我们自定义对象的行为使其更加符合我们需要的操作方式。通过重载这些方法我们可以让对象支持各种操作符、内置函数和特定行为。