- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python的元类编程研究.pdf
电脑编程技巧与维护
Pvthon的元类编程研究
王 丽
(解放军第二十 医院,乌鲁木齐 830002)
摘 要 :介绍 了Python的背景,介绍 了元类编程 的基本概念和元类编程的必要性,重点介绍 了Python中元类编程
的两大基本方法,并依据这些方法编写了实例。
关键词:元类 ;单态 ;Pvthon
ResearchtheM etaclassProgramminginPython
W ANG Li
(PeopleSLiberationArmy23Hospitals,Urumqi830002)
Abstract:ThispaperfirstintroducesthebackgroundofPythonlanguage,thenintroducesthebasicconceptandnecessityof
metaelassprogramming.Afterthat,thepaperdescribesthetwobasicmethodsofmetaclassprogramminginPythonandwrites
anexampletoshow how tomakemetaclassprogramminginPython.
Keywords:Metaclass;Singleton ;Python
1 概述 非动态语言的反射极大地提高了程序的可扩展性 ,但是
Python是一种面向对象的解释性的计算机程序设计语言, 可以看到在非动态语言中也是有局限的 ,反射永远被局限到
也是一种功能强大而完善的通用型语言 ,已经具有十多年的 得到一个类的实例这一步,那么描述对象统一属性的类,是
发展历史 ,成熟且稳定。Python具有非常简捷而清晰的语法 谁产生的呢?描述类的类称为:元类。即通过元类的动作的
特点,适合完成各种高层任务 ,几乎可以在所有的操作系统 操作可以产生一个类。使用元编程最普通的情况就是创建具
中运行。Python被 TIOBE评选为 2010年年度编程语言 ,排名 有动态生成的属性和方法的类。在 Python (以及其他语言)
第6位。Python语言有一个非常重要且有用的特性一元类编 中,类本身就是可以被传递和 自省的对象 ,可以用类作为模
程,下面重点研究一下Python元类编程。 板来生成对象,用元类作为模板来生成类。
2 元类编程 4 实例
用来产生代码的程序 ,操纵代码的程序 ,在运行时创建 假设需要动态创建一个类并动态创建其方法,可以采用
和修改代码而非编程时,这种程序叫做元程序。而编写这种 工厂模式结合 setattr动态生成一个class:
defclasswith
程序就叫做元编程。比如编译原理中用来生成词法分析器和 _ _ method (func):
classmyclass:pass
语法分析器的lex和yacc。
setattr(myclass,func.name ,func)
在Python里,类 自身也是对象,就像其他对象是类的实
returnmyclass
例一样
文档评论(0)