当然,您甚至不必在基类中定义方法。在Python中,方法要比虚拟方法更好-它们是完全动态的,因为Python中的输入是 鸭子输入 。
class Dog: def say(self): print "hau"class Cat: def say(self): print "meow"pet = Dog()pet.say() # prints "hau"another_pet = Cat()another_pet.say() # prints "meow"my_pets = [pet, another_pet]for a_pet in my_pets: a_pet.say()
Cat而且
Dog在Python中,甚至不必从通用基类派生该行为即可-
您可以免费获得它。就是说,一些程序员更喜欢以更严格的方式定义他们的类层次结构,以更好地记录它并施加 一定
的键入严格性。这也是可能的,例如参见
abc标准模块。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)