详解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'
这样就把输出流给写入到文件中去了。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
