工厂函数
比如int('123'),在以前这是调用int函数,将字符串转化为整型,现在是相当于123是int()实例化以后的对象。所以说Python无处不对象。
下面这个程序重新定义了add方法和sub方法,因此得到的输出分别是-2和8.
当调用New__int()的add方法的时候返回的是sub
class New_int(int): def __add__(self, other): return int.__sub__(self,other) def __sub__(self, other): return int.__add__(self,other) a = New_int(3) b = New_int(5) print(a+b) print(a-b)
反运算
add 和 radd互为反运算 radd是加数无法被调用的时候由被加数调用的方法 同样sub和rsub,减法的反运算就是把减数变成被减数,被减数变成减数
反运算的方法都在正运算的函数名之前加了一个r
一元操作符
neg 定义正号
pos 定义负号
abs 定义绝对值
invert 按位取反