算术运算

python2.2之前,类和类型是分开的。但是python2.2之后,int float string list等bif通通转换为工厂函数。从下图可以发现,int等基本类型

算术运算

python的魔法方法还提供了可以自定义的数值处理,通过对魔法方法的重写,可以自定义任何对象间的数值运算。

python内部还有反运算。反运算和上述的算术运算是一一对应的,不同之处在于反运算的函数名前多了一个r。

比如:  __radd__(self, other)   (与__add__()相同,当左操作数不支持相应的操作时被调用)

算术运算

上述例子,‘1+b’ 中,左操作数是不支持__add__(),因此,会自动调用__radd__(),且raad中的self指代b

python中同时还具有一元操作符:

算术运算