简介
- 运算符重载让类拦截常规的Python运算.
- 类可重载所有的Python表达式运算符
- 类也可以重载打印,函数调用,属性点号运算等内置运算.
- 重载使类实例的行为像内置函数.
- 重载使通过特殊名称的类方法实现的.
构造函数和表达式:init__和__sub
class Number:
def __init__(self,start):
self.data=start
def __sub__(self,other):
return Number(self.data - other)
>>> from number import Number
>>> x=Number(5)
>>> y=x-2
>>> y.data
3
>>>



索引和分片:getitem__和__setitem
>>> class Indexer:
def __getitem__(self,index):
return index**2
>>> X=Indexer()
>>> X[2]
4
>>> for i in range(5):
print(X[i],end='')
014916
>>>