Python3 类的内置属性、内置方法(魔法方法)、常用装饰器

前言

  • 在 Python 3 中,类的内置属性和特殊方法(魔法方法)提供了非常丰富的功能和灵活性
  • 同时,一些内置的装饰器、常用的装饰器也起到了很棒的效果
  • 为了方便各位查阅, 笔者尽最大努力地归纳了 Python 3 中类的属性、特殊方法(魔法方法)和 一些装饰器
  • 希望本文能够帮助到你

内置属性

常见

  • __name__:类的名称(字符串)
  • __doc__:类的文档字符串(字符串)或None(如果没有定义)
  • __module__:类定义所在的模块名称(字符串)
  • __bases__:类的所有基类构成的元组(对于内置类型,可能为空或包含object
  • __dict__:类的属性(包括方法)构成的字典。注意,对于内置类型,这个字典可能不包含有用的信息
  • __class__:在实例上使用时,指向实例的类;在类上使用时,通常返回type或其元类
  • __mro__:类的方法解析顺序(MRO)列表,用于确定继承时方法调用的顺序

其他

  • __annotations__:类的注解字典,用于存储变量注解和函数注解(Python 3.7+)

  • __qualname__:类的限定名(包括其包、模块和父类)

  • __subclasshook__():一个类方法,用于自定义子类检查。当使用issubclass()函数检查一个类是否是另一个类的子类时,如果第一个类定义了__subclasshook__()方法,则会调用该方法

内置方法 (魔法方法)

构造和初始化

  • __new__(cls, [...]):用于创建并返回类的实例的特殊静态方法,通常在__init__()之前被调用
  • __init__(self, [...]):在实例创建后调用,用于初始化实例
  • __del__(self):在实例被销毁前调用,用于执行清理操作
  • __init_subclass__(cls, **kwargs): 当一个类被继承时调用,在子类的__init__方法之前

运算符重载

  • __add__(self, other):定义加法运算符+的行为
  • __sub__(self, other):定义减法运算符-的行为
  • __mul__(self, other):定义乘法运算符*的行为
  • __truediv__(self, other):定义真除法运算符/的行为
  • __floordiv__(self, other):定义地板除法运算符//的行为
  • __mod__(self, other):定义取模运算符%的行为
  • __pow__(self, other[, modulo]):定义乘方运算符****=的行为
  • __iadd__(self, other):定义加法赋值运算符+=的行为
  • __isub__(self, other):定义减法赋值运算符-=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值