详解duck typing鸭子类型程序设计与Python的实现示例
在程序设计中,鸭子类型(英语:duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定。 Python代码示例 下面例子用duck typing来实现多态。 #coding=utf-8 class Duck: def quack(self): print "Quaaaaaack!" class Bird: def quack(self): print "bird imitate duck." class Doge: def quack(self): print "doge imitate duck." def in_the_forest(duck): duck.quack() duck = Duck() bird = Bird() doge = Doge() for x in [duck,bird,doge]: in_the_forest(x) 再举个栗子, import sys sys.stdout = open('stdout.log','a') #只要是file-like,不管是什么类型 print 'foo' sys.stdout = sys.__stdout__ #恢复 print 'bar' 这样就把输出流给写入到文件中去了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |