欢迎来到天天文库
浏览记录
ID:36671228
大小:220.94 KB
页数:11页
时间:2019-05-13
《python自省指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、12-8-27Python自省指南Python自省指南如何监视您的Python对象什么是自省?在日常生活中,自省(introspection)是一种自我检查行为。自省是指对某人自身思想、情绪、动机和行为的检查。伟大的哲学家苏格拉底将生命中的大部分时间用于自我检查,并鼓励他的雅典朋友们也这样做。他甚至对自己作出了这样的要求:“未经自省的生命不值得存在。”(请参阅参考资料以获取关于苏格拉底更多信息的链接。)在计算机编程中,自省是指这种能力:检查某些事物以确定它是什么、它知道什么以及它能做什么。自省向程序
2、员提供了极大的灵活性和控制力。一旦您使用了支持自省的编程语言,就会产生类似这样的感觉:“未经检查的对象不值得实例化。”本文介绍了Python编程语言的自省能力。整个Python语言对自省提供了深入而广泛的支持。实际上,很难想象假如Python语言没有其自省特性是什么样子。在读完本文时,您应该能够非常轻松地洞察到自己Python对象的“灵魂”。在深入研究更高级的技术之前,我们尽可能用最普通的方式来研究Python自省。有些读者甚至可能会争论说:我们开始时所讨论的特性不应称之为“自省”。我们必须承认,它
3、们是否属于自省的范畴还有待讨论。但从本文的主旨出发,我们所关心的只是找出有趣问题的答案。现在让我们以交互方式使用Python来开始研究。当我们从命令行启动Python时,就进入了Pythonshell,在这里可以输入Python代码,而且立刻会从Python解释器获得响应。(本文中列出的命令可以使用Python2.2.2正确执行。如果您使用较早的版本,则可能产生不同的结果或发生错误。可以从Python网站下载最新版本[请参阅参考资料]。)清单1.以交互方式启动Python解释器$pythonPyth
4、on2.2.2(#1,Oct282002,17:22:19)[GCC3.2(MandrakeLinux9.03.2-1mdk)]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>>>在让Python运行起来,并看到Python提示符(>>>)之后,您可能想知道Python能识别什么字。大多数编程语言都有保留字或关键字,这些字在该语言中有特殊的意义,Python也不例外。您可能还注意到,Python建议我们输入
5、help以获取更多信息。也许我们可以向Python寻www.ibm.com/developerworks/cn/linux/l-pyint/index1.html1/1112-8-27Python自省指南求一些关于关键字的帮助。回页首Python的联机帮助实用程序让我们按建议的那样,通过输入help来开始讨论,并观察它是否会向我们提供任何关于关键字的线索:清单2.向Python寻求帮助>>>helpTypehelp()forinteractivehelp,orhelp(object)forhelpa
6、boutobject.因为我们不知道哪些对象可能包含关键字,所以不指定任何特定对象来尝试help():清单3.启动帮助实用程序>>>help()WelcometoPython2.2!Thisistheonlinehelputility.IfthisisyourfirsttimeusingPython,youshoulddefinitelycheckoutthetutorialontheInternetathttp://www.python.org/doc/tut/.Enterthenameofany
7、module,keyword,ortopictogethelponwritingPythonprogramsandusingPythonmodules.Toquitthishelputilityandreturntotheinterpreter,justtype"quit".Togetalistofavailablemodules,keywords,ortopics,type"modules","keywords",or"topics".Eachmodulealsocomeswithaone-lin
8、esummaryofwhatitdoes;tolistthemoduleswhosesummariescontainagivenwordsuchas"spam",type"modulesspam".help>现在,我们对此的理解似乎深入了些。让我们在help提示符下输入keywords:清单4.用keywords寻求帮助help>keywordsHereisalistofthePythonkeywords.Enteranykeywordtogetmorehelp.an
此文档下载收益归作者所有