Python多态
1.多态 其他语言中所谓的多态,至的是一个方法多种实现,在继承前提下,父类规定了子类的接口,使得可以相同的方式调用子类的方法,但会获得不同的功能 Python崇尚的是"鸭子类型(Duck typing)",这个词概念名字来源于由James Whitcomb Riley提出的鸭子测试,"鸭子测试"可以这样表述:“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来像鸭子、那么这只鸟可以被称为鸭子”。’'鸭子类型”中不关心对象的类型,只关心对象的行为。 鸭子类型是动态类型的一种风格,在这种风格中,一个对象有效的语义,不是由继承自特定类或实现特定的接口,二十由“当前方法和属性的集合”决定。 2.算数运算符重载 class MyInt ( object ) : def __init__ ( self , num ) : if isinstance ( num , int ) : self . num = num else : raise Exception ( "类型错误" ) # 本类的加法运算符重载 + def __add__ ( self , other ) : # 两个同类型的对象相加,返回一个新的同类对象 # return self.num + other.num #error return MyInt ( self . num + other . num ) # += a += b