本文共 681 字,大约阅读时间需要 2 分钟。
本博文源于python基础,旨在对鸭子类型进行简单的模拟。
所谓的鸭子类型就是根据对象的当前方法和属性集合决定,而不是根据继承自特定的类与接口设定。 在实际的程序设计中,通常不测试方法和函数中参数的类型,而是依赖文档、清晰的代码和测试来确保正确使用。
实例模拟了鸭子、猫和树。因为树木没有这种叫的方法,因此它就会报错。
class Duck(object): def __init__(self, name='duck'): self.name = name def quack(self): print('嘎嘎嘎....')class Cat(object): def __init__(self, name='cat'): self.name = name def quack(self): print('喵喵喵....')class Tree(object): def __init__(self, name='tree'): self.name = namedef duck_demo(obj): obj.quack()if __name__ == '__main__': duck = Duck() cat = Cat() tree = Tree() duck_demo(duck) duck_demo(cat) duck_demo(tree)
转载地址:http://jhrd.baihongyu.com/