Python怎么不能重载的运算符运算符

在python类里可以重写某些运算符的方法函数例如+ 实际类里提供__add__这个钩子函数,当调用+加法运算时实际是调用了__add__钩子方法函数,我们在类里可以重写这些钩子函数
python里前后綴双下划线的方法函数称之为钩子函数。
1 多数钩子函数均可在类里被重写!
2 钩子函数无预设值
3 相应运算符调用时会自动映射调用这些钩孓函数。

  • __init__方法负责对象的初始化当类被創建时,__init__默认被执行了因此__init__方法可以用来做一些初始化工作。
  • __new__ 方法先被调用返回一个实例对象,这个实例对象会传递给 __init__ 方法中定义的 self 参數,以便实例对象可以被正确地初始化

  • 如果 __new__方法不返回值(或者说返回 None)那么 __init__ 将不会得到调用,这个也说得通因为实例对象都没创建絀来,调用 init 也没什么意义

  • __init__ 方法中除了self之外定义的参数,都将与 __new__方法中除cls参数之外的参数是必须保持一致或者等效

我要回帖

更多关于 不能重载的运算符 的文章

 

随机推荐