多态 分发 分类: python 小练习 divide into python 2013-11-05 19:11 394人阅读 评论(0) 收藏
2013-11-05 19:11
627 查看
#coding:utf-8 def output_xml(name): print 'XML:%s' % name def output_html(name): print 'HTML:%s' % name def output_doc(name): print 'DOC:%s' % name def putdoc(types,name): print types,type(types) print name,type(name) eval('output_%s("%s")' % (types,str(name))) putdoc('doc',"sam")
实例二:
有两个文件如下:
myoutformat.py #定义输出的文件格式
#coding:utf-8 class outputForm(object): def output_html(self,data): print 'html:',data def output_xml(self,data): print 'xml:',data def output_text(self,data): print 'text:',data if __name__=="__main__": pass
myout.py #调用输出文件格式模块,输出文件
#coding:utf-8 import myoutformat def f(inst,form,data): #inst.output_text 是默认的方法参数,返回函数(或者:getattr(inst,'output_text')),如果此处是个字符串,则返回该字符串。此处应该是函数名称,返回函数 fun=getattr(inst,"output_%s" % form,inst.output_text) #调用函数fun fun(data) if __name__ == '__main__': a=myoutformat.outputForm() f(a,"html",'abc') f(a,"xml",'abc') f(a,"text",'abc') f(a,"NAME",'abc')
结果:
html: abc
xml: abc
text: abc
text: abc
相关文章推荐
- 使用locals()获得类,进行分发 分类: python 小练习 divide into python python基础学习 2014-02-21 14:51 217人阅读 评论(0) 收藏
- #小练习 输出模块中方法及其docstring 分类: python 小练习 divide into python 2013-11-05 18:17 451人阅读 评论(0) 收藏
- #小练习类与文件对象 分类: python 小练习 2013-11-05 12:09 341人阅读 评论(0) 收藏
- #小练习 类与文件对象 分类: python 小练习 2013-11-05 15:39 343人阅读 评论(0) 收藏
- #小练习 重定向与sys.stdout对象 分类: python 小练习 2013-11-05 16:10 437人阅读 评论(0) 收藏
- 优化程序结构 分类: divide into python python 小练习 2013-12-30 20:53 229人阅读 评论(0) 收藏
- 生成器介绍 分类: python 小练习 python基础学习 divide into python 2013-12-31 21:17 226人阅读 评论(0) 收藏
- 平均分组 分类: python 小练习 2013-07-09 11:41 411人阅读 评论(0) 收藏
- shutil.rmtree() 分类: python 小练习 2013-05-21 17:11 4344人阅读 评论(0) 收藏
- 提取网易的链接及链接名称 分类: python 小练习 正则表达式 2013-11-07 14:02 382人阅读 评论(0) 收藏
- #小练习 输出两个数的最大公约数 分类: python 小练习 2013-11-08 11:16 385人阅读 评论(0) 收藏
- #小练习 解析HTML文件并使用字典保存链接 分类: HTMLParser python 小练习 2013-11-11 12:06 267人阅读 评论(0) 收藏
- 生成器的应用例子 分类: python 小练习 divide into python python基础学习 2013-12-31 21:32 236人阅读 评论(0) 收藏
- 使用os.walk()方法 分类: python 小练习 2013-08-14 10:52 1465人阅读 评论(0) 收藏
- python发送各类邮件的主要方法 分类: python Module python 小练习 2014-01-14 14:52 310人阅读 评论(0) 收藏
- 使用glob模块,遍历E盘下的mp3文件 分类: python 小练习 2013-05-15 15:40 405人阅读 评论(0) 收藏
- 翻转列表项 分类: python 小练习 2013-06-15 14:52 239人阅读 评论(0) 收藏
- 以lambda形式优化结构 分类: python 小练习 divide into python python基础学习 2013-12-30 21:07 279人阅读 评论(0) 收藏
- 猜数字 分类: python 小练习 python基础学习 2013-06-20 15:16 160人阅读 评论(0) 收藏
- #小练习 替换文件某行内容 分类: python 小练习 python Module 2013-09-26 11:10 269人阅读 评论(0) 收藏