关闭

关闭

关闭

封号提示

内容

首页 python核心编程.pdf

python核心编程.pdf

python核心编程.pdf

上传者: yupf 2011-10-10 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《python核心编程pdf》,可适用于IT/计算机领域,主题内容包含Edit By Vheavens Edit By Vheavens                               对《Python核心符等。

Edit By Vheavens Edit By Vheavens                               对《Python核心编程》的褒奖“ThelongawaitedsecondeditionofWesleyChun’sCorePythonProgrammingprovestobewellworththewaititsdeepandbroadcoverageandusefulexerciseswillhelpreaderslearnandpracticegoodPython”AlexMartelli,authorofPythoninaNutshellandeditorofPythonCookbook“对陈仲才《Python核心编程》第二版的漫长等待是值得的它的深邃、它的全面以及书中实用的练习将会帮助读者学会并掌握杰出的Python技能”亚历克斯马特利(AlexMartelli)《PythoninaNutshell》一书作者以及《PythonCookbook》的编辑“TherehasbeenlotofgoodbuzzaroundWesleyChun’sCorePythonProgrammingItturnsoutthatallthebuzziswellearnedIthinkthisisthebestbookcurrentlyavailableforlearningPythonIwouldrecommendChun’sbookoverLearningPython(O’Reilly),ProgrammingPython(O’Reilly),orTheQuickPythonBook(Manning)”DavidMertz,PhD,IBMDeveloperWorks“之前就听到许多对陈仲才《Python核心编程》的溢美之词最终这些褒奖被证明都没有言过其实。我想这是现今学习Python最出色的书籍了。我认为仲才的书超越《LearningPython》(O’Reilly出版社)《ProgrammingPython》(O’Reilly社)以及《QuickPythonBook》(Manning出版社)”大卫梅尔兹(DavidMertz)哲学博士IBMDeveloperWorks“IhavebeendoingalotofresearchonPythonforthepastyearandhaveseenanumberofpositivereviewsofyourbookThesentimentexpressedconfirmstheopinionthatCorePythonProgrammingisnowconsideredthestandardintroductorytext”RichardOzaki,LockheedMartin“我在过去的一年里对Python进行了许多研究并且读到了许多对你作品的肯定评价。这些评述准确的表达了一个观点这就是《Python核心编程》现在被看作是一本权威的Python读本。”理查德尾崎(RichardOzaki)洛克西德马丁(LockheedMartin)Edit By Vheavens Edit By Vheavens                               公司“Finally,abookgoodenoughtobebothatextbookandareferenceonthePythonlanguagenowexists”MichaelBaxter,LinuxJournal“最终一本杰出的融教材和参考书目于一身的Python书籍诞生了。。”迈克尔巴克斯特(MichaelBaxter)《LinuxJournal》“VerywellwrittenItistheclearest,friendliestbookIhavecomeacrossyetforexplainingPython,andputtingitinawidercontextItdoesnotpresumealargeamountofotherexperienceItdoesgointosomeimportantPythontopicscarefullyandindepthUnliketoomanybeginnerbooks,itnevercondescendsortorturesthereaderwithchildishhideandseekprosegamesItstickstogainingasolidgraspofPythonsyntaxandstructure”http:pythonorgbookstoreWebsite“非常不错的作品。这是我迄今遇到的最清楚最友好的阐释Python的书籍了并且它还将Python引入了更广阔的领域。它没有冒昧的大量引用其他经验而是谨慎、深入的探索了Python的一些重要主题。与许多入门读物不同本书不会用小孩子捉迷藏般的文字游戏折磨或施惠于读者。它紧紧扣住了Python语法和结构这两个主题。”http:pythonorg网上书店“IfIcouldonlyownonePythonbook,itwouldbeCorePythonProgrammingbyWesleyChunThisbookmanagestocovermoretopicsinmoredepththanLearningPythonbutincludesitallinonebookthatalsomorethanadequatelycoversthecorelanguageIfyouareinthemarketforjustonebookaboutPython,IrecommendthisbookYouwillenjoyreadingit,includingitswryprogrammer’switMoreimportantly,youwilllearnPythonEvenmoreimportantly,youwillfinditinvaluableinhelpingyouinyourdaytodayPythonprogramminglifeWelldone,MrChun!”RonStephens,PythonLearningFoundationEdit By Vheavens Edit By Vheavens                               “(假如)我只能拥有一本Python书籍那肯定就是陈仲才的《Python核心编程》。它涵盖了《LearningPython》的全部主题但是却更加深入宽泛所以这绝不单单是一本充分包含了核心语言的书籍。如果你只想在市面上购买一本Python书籍的话我向你推荐本书。你会享受阅读的包括它里面会经常幽程序员的一默。更重要的是你将学会Python。更更重要的是你会在日复一日的编程生活中受益不尽。好样的仲才兄!”罗恩斯蒂芬(RonStephens)Python学习基金“IthinkthebestlanguageforbeginnersisPython,withoutadoubtMyfavoritebookisCorePythonProgramming”sapr,MPCarcomForums“毫无疑问的对于初学者最好的语言我认为就是Python。而《Python核心编程》则是我的最爱。”saprMPCarcom论坛“Personally,IreallylikePythonIt’ssimpletolearn,completelyintuitive,amazinglyflexible,andprettydarnedfastPythonhasonlyjuststartedtoclaimmindshareintheWindowsworld,butlookforittostartgaininglotsofsupportaspeoplediscoveritTolearnPython,I’dstartwithCorePythonProgrammingbyWesleyChun”BillBoswell,MCSE,MicrosoftCertifiedProfessionalMagazineOnline“就我个人而言我喜欢Python。它简单易学、十分直观、具有惊人的灵活性、而且快到岂有此理!Python刚刚才开始引来了Windows世界应有的关注。但是如同人们发现它的过程一般让这种关注的深入需要足够的支撑。学习Python我选择从陈仲才的《Python核心编程》开始。”比尔博斯韦尔(BillBoswell)微软认证系统工程师《微软认证专家在线杂志》“Ifyoulearnwellfrombooks,IsuggestCorePythonProgrammingItisbyfarthebestI’vefoundI’maPythonnewbieaswellandinthreemonthstimeI’vebeenabletoimplementPythoninprojectsatwork(automatingMSOffice,SQLDBstuff,etc)”Edit By Vheavens Edit By Vheavens                               ptonman,DevShedForums“如果你能通过书籍高效学习我推荐《Python核心编程》。它是我迄今为止发现的最好的书了。三个月前我还是一只Python菜鸟如今我却已经可以在工作的项目(微软Office自动化SQLDB填充等等)中应用Python了。”ptonmanDevShed论坛“PythonissimplyabeautifullanguageIt’seasytolearn,it’scrossplatform,anditworksIthasachievedmanyofthetechnicalgoalsthatJavastrivesforAonesentencedescriptionofPythonwouldbe:‘AllotherlanguagesappeartohaveevolvedovertimebutPythonwasdesigned’AnditwasdesignedwellUnfortunately,therearen’talargenumberofbooksforPythonThebestoneI’verunacrosssofarisCorePythonProgramming”ChrisTimmons,CRTimmonsConsulting“Python是一门美丽的语言。它简单易学跨平台而且运转良好。达成了许多Java一直求索的技术目标。一言以蔽之就是:’其他的语言是与时代同步而Python则是未雨绸缪’而且计划得颇为出色。遗憾的是并没有足够多的Python书籍。至今最禁得起考验的就当属《Python核心编程》了。”克里斯提曼斯(ChrisTimmons)CRTimmons咨询公司“IfyoulikethePrenticeHallCoreseries,anothergoodfullblowntreatmenttoconsiderwouldbeCorePythonProgrammingItaddressesinelaborateconcretedetailmanypracticaltopicsthatgetlittle,ifany,coverageinotherbooks”MitchellLModel,MLMConsulting“如果你喜欢PrenticeHallCore系列那么《Python核心编程》就称得上是另一席盛宴。它通过对技术细节的精心阐述令许多实用的主题变得易于消化同类书籍中无出其右”米切尔L莫多(MitchellLModel)MLM咨询公司Edit By Vheavens Edit By Vheavens                               corePYTHONprogrammingSecondEditionPython核心编程(第二版)VheavensEdit By Vheavens Edit By Vheavens                               欢迎来到Python世界!本章主题z什么是PythonzPython的起源zPython的特点z下载Pythonz安装Pythonz运行PythonzPython文档z比较Python(与其它语言的比较)z其它实现Edit By Vheavens Edit By Vheavens                               开篇将介绍一些Python的背景知识包括什么是Python、Python的起源和它的一些关健特性。一旦你来了兴致我们就会向你介绍怎样获得Python以及如何在你的系统上安装并运行它。本章最后的练习将会帮助你非常自如地使用Python包括使用交互式解释器以及创建并运行脚本程序。什么是PythonPython是一门优雅而健壮的编程语言它继承了传统编译语言的强大性和通用性同时也借鉴了简单脚本和解释语言的易用性。它可以帮你完成工作而且一段时间以后你还能看明白自己写的这段代码。你会对自己如此快地学会它和它强大的功能感到十分的惊讶更不用提你已经完成的工作了!只有你想不到没有Python做不到起源贵铎范罗萨姆(GuidovanRossum)于年底始创了Python那时他还在荷兰的CWI(CentrumvoorWiskundeenInformatica国家数学和计算机科学研究院)。年初Python发布了第一个公开发行版。这一切究竟是如何开始的呢?像C、C、Lisp、Java和Perl一样Python来自于某个研究项目项目中的那些程序员利用手边现有的工具辛苦的工作着他们设想并开发出了更好的解决办法。Edit By Vheavens Edit By Vheavens                               那时范罗萨姆是一位研究人员对解释型语言ABC有着丰富的设计经验这个语言同样也是在CWI开发的。但是他不满足其有限的开发能力。已经使用并参与开发了像ABC这样的高级语言后再退回到C语言显然是不可能的。他所期望的工具有一些是用于完成日常系统管理任务的而且它还希望能够访问Amoeba分布式操作系统的系统调用。尽管范罗萨姆也曾想过为Amoeba开发专用语言但是创造一种通用的程序设计语言显然更加明智于是在年末Python的种子被播下了。特点尽管Python已经流行了超过年但是一些人仍旧认为相对于通用软件开发产业而言它还是个新丁。我们应当谨慎地使用“相对”这个词因为“网络时代”的程序开发几年看上去就像几十年。当人们询问:“什么是Python?”的时候很难用任何一个具象来描述它。人们更倾向于一口气不加思索地说出他们对Python的所有感觉Python是(请填写)这些特点究竟又是什么呢?为了让你能知其所以然我们下面会对这些特点进行逐一地阐释。高级伴随着每一代编程语言的产生我们会达到一个新的高度。汇编语言是上帝献给那些挣扎在机器代码中的人的礼物后来有了FORTRAN、C和Pascal语言它们将计算提升到了崭新的高度并且开创了软件开发行业。伴随着C语言诞生了更多的像C、Java这样的现代编译语言。我们没有止步于此于是有了强大的、可以进行系统调用的解释型脚本语言例如Tcl、Perl和Python。这些语言都有高级的数据结构这样就减少了以前“框架”开发需要的时间。像Python中的列表(大小可变的数组)和字典(哈希表)就是内建于语言本身的。在核心语言中提供这些重要的构建单元可以鼓励人们使用它们缩短开发时间与代码量产生出可读性更好的代码。在C语言中对于混杂数组(Python中的列表)和哈希表(Python中的字典)还没有相应的标准库所以它们经常被重复实现并被复制到每个新项目中去。这个过程混乱而且容易产生错误。C使用标准模版库改进了这种情况但是标准模版库是很难与Python内建的列表和字典的简洁和易读相提并论的。Edit By Vheavens Edit By Vheavens                               面向对象建议:面向对象编程为数据和逻辑相分离的结构化和过程化编程添加了新的活力。面向对象编程支持将特定的行为、特性以及和或功能与它们要处理或所代表的数据结合在一起。Python的面向对象的特性是与生俱来的。然而Python绝不想Java或Ruby仅仅是一门面向对象语言事实上它融汇了多种编程风格。例如它甚至借鉴了一些像Lisp和Haskell这样的函数语言的特性。可升级大家常常将Python与批处理或Unix系统下的shell相提并论。简单的shell脚本可以用来处理简单的任务就算它们可以在长度上(无限度的)增长但是功能总会有所穷尽。Shell脚本的代码重用度很低因此你只能止步于小项目。实际上即使一些小项目也可能导致脚本又臭又长。Python却不是这样你可以不断地在各个项目中完善你的代码添加额外的新的或者现存的Python元素也可以重用您脑海中的代码。Python提倡简洁的代码设计、高级的数据结构和模块化的组件这些特点可以让你在提升项目的范围和规模的同时确保灵活性、一致性并缩短必要的调试时间。“可升级”这个术语最经常用于衡量硬件的负载通常指为系统添加了新的硬件后带来的性能提升。我们乐于在这里对这个引述概念加以区分我们试图用“可升级”来传达一种观念这就是:Python提供了基本的开发模块你可以在它上面开发你的软件而且当这些需要扩展和增长时Python的可插入性和模块化架构则能使你的项目生机盎然和易于管理。可扩展就算你的项目中有大量的Python代码你也依旧可以有条不紊地通过将其分离为多个文件或模块加以组织管理。而且你可以从一个模块中选取代码而从另一个模块中读取属性。更棒的是对于所有模块Python的访问语法都是相同的。不管这个模块是Python标准库中的还是你一分钟之前创造的哪怕是你用其他语言写的扩展都没问题!借助这些特点你会感觉自己根据需要“扩展”了这门语言而且你已经这么做了。代码中的瓶颈可能是在性能分析中总排在前面的那些热门或者一些特别强调性能的地方可以作为Python扩展用C重写。。需要重申的是这些接口和纯Python模块的接口是一模一样的乃至代码和对象的访问方法也是如出一辙的。唯一不同的是这些代码为性能带来了显著的提升。自然这全部取决你的应用程序以及它对资源的需求情况。很多时候使用编译Edit By Vheavens Edit By Vheavens                               型代码重写程序的瓶颈部分绝对是益处多多的因为它能明显提升整体性能。程序设计语言中的这种可扩展性使得工程师能够灵活附加或定制工具缩短开发周期。虽然像C、C乃至Java等主流第三代语言(GL)都拥有该特性但是这么容易地使用C编写扩展确实是Python的优势。此外还有像PyRex这样的工具允许C和Python混合编程使编写扩展更加轻而易举因为它会把所有的代码都转换成C语言代码。因为Python的标准实现是使用C语言完成的(也就是CPython)所以要使用C和C编写Python扩展。Python的Java实现被称作Jython要使用Java编写其扩展。最后还有IronPython这是针对NET或Mono平台的C#实现。你可以使用C#或者VBNet扩展IronPython。可移植性在各种不同的系统上可以看到Python的身影这是由于在今天的计算机领域Python取得了持续快速的成长。因为Python是用C写的又由于C的可移植性使得Python可以运行在任何带有ANSIC编译器的平台上。尽管有一些针对不同平台开发的特有模块但是在任何一个平台上用Python开发的通用软件都可以稍事修改或者原封不动的在其他平台上运行。这种可移植性既适用于不同的架构也适用于不同的操作系统。易学Python关键字少、结构简单、语法清晰。这样就使得学习者可以在相对更短的时间内轻松上手。对初学者而言可能感觉比较新鲜的东西可能就是Python的面向对象特点了。那些还未能全部精通OOP(ObjectOrientedProgramming,面向对象的程序设计)的人对径直使用Python还是有所顾忌的但是OOP并非必须或者强制的。入门也是很简单的你可以先稍加涉猎等到有所准备之后才开始使用。易读Python与其他语言显著的差异是它没有其他语言通常用来访问变量、定义代码块和进行模式匹配的命令式符号。通常这些符号包括:美元符号($)、分号()、波浪号(~)等等。没有这些分神的家伙Python代码变得更加定义清晰和易于阅读。让很多程序员沮丧(或者欣慰)的是不像其他语言Python没有给你多少机会使你能够写出晦涩难懂的代码而是让其他人很快就能理解你写的代码反之亦然。如前所述一门语言的可读性让它更易于学习。我们甚至敢冒昧的声称即使对那些之前连一行Python代码都没看过的人来说那些代码也是相当容易理解的。看看下一章节“起步”中的例子然后告诉我们你的进展是多么神速。Edit By Vheavens Edit By Vheavens                               易维护源代码维护是软件开发生命周期的组成部分。只要不被其他软件取代或者被放弃使用你的软件通常会保持继续的再开发。这通常可比一个程序员在一家公司的在职时间要长得多了。Python项目的成功很大程度上要归功于其源代码的易于维护当然这也要视代码长度和复杂度而定。然而得出这个结论并不难因为Python本身就是易于学习和阅读的。Python另外一个激动人心的优势就是当你在阅读自己六个月之前写的脚本程序的时候不会把自己搞得一头雾水也不需要借助参考手册才能读懂自己的软件。健壮性没有什么能够比允许程序员在错误发生的时候根据出错条件提供处理机制更有效的了。针对错误Python提供了“安全合理”的退出机制让程序员能掌控局面。一旦你的Python由于错误崩溃解释程序就会转出一个“堆栈跟踪”那里面有可用到的全部信息包括你程序崩溃的原因以及是那段代码(文件名、行数、行数调用等等)出错了。这些错误被称为异常。如果在运行时发生这样的错误Python使你能够监控这些错误并进行处理。这些异常处理可以采取相应的措施例如解决问题、重定向程序流、执行清除或维护步骤、正常关闭应用程序、亦或干脆忽略掉。无论如何这都可以有效的缩减开发周期中的调试环节。Python的健壮性对软件设计师和用户而言都是大有助益的。一旦某些错误处理不当Python也还能提供一些信息作为某个错误结果而产生的堆栈追踪不仅可以描述错误的类型和位置还能指出代码所在模块。高效的快速原型开发工具我们之前已经提到了Python是多么的易学易读。但是你或许要问了BASIC也是如此啊Python有什么出类拔萃的呢?与那些封闭僵化的语言不同Python有许多面向其他系统的接口它的功能足够强大本身也足够强壮所以完全可以使用Python开发整个系统的原型。显然传统的编译型语言也能实现同样的系统建模但是Python工程方面的简洁性让我们可以在同样的时间内游刃有余的完成相同的工作。此外大家已经为Python开发了为数众多的扩展库所以无论你打算开发什么样的应用程序都可能找到先行的前辈。你所要做的全部事情就是来个“即插即用”(当然也要自行配置一番)!只要你能想得出来Python模块和包就能帮你实现。Python标准库是很完备的如果你在其中找不到所需那么第三方模块或包就会为你完成工作提供可能。Edit By Vheavens Edit By Vheavens                               内存管理器C或者C最大的弊病在于内存管理是由开发者负责的。所以哪怕是对于一个很少访问、修改和管理内存的应用程序程序员也必须在执行了基本任务之外履行这些职责。这些加诸在开发者身上的没有必要的负担和责任常常会分散精力。在Python中由于内存管理是由Python解释器负责的所以开发人员就可以从内存事务中解放出来全神贯注于最直接的目标仅仅致力于开发计划中首要的应用程序。这会使错误更少、程序更健壮、开发周期更短。解释性和(字节)编译性Python是一种解释型语言这意味着开发过程中没有了编译这个环节。一般来说由于不是以本地机器码运行纯粹的解释型语言通常比编译型语言运行的慢。然而类似于JavaPython实际上是字节编译的其结果就是可以生成一种近似机器语言的中间形式。这不仅改善了Python的性能还同时使它保持了解释型语言的优点。核心笔记:文件扩展名Python源文件通常用py扩展名。当源文件被解释器加载或者显式地进行字节码编译的时候会被编译成字节码。由于调用解释器的方式不同源文件会被编译成带有pyc或pyo扩展名的文件你可以在第章“模块”学到更多的关于扩展名的知识。下载和安装Python得到所有Python相关软件最直接的方法就是去访问它的网站(http:pythonorg)。为了方便读者你也可以访问本书的网站(http:corepythoncom)并点击左侧的“DownloadPython”链接我们在表格中罗列了当前针对大多数平台的Python版本当然这还是主要集中在“三巨头”身上:UnixWin和MacOSX。正如我们在前面小节中提到的Python的可应用平台非常广泛。我们可以将其划分成如下的几大类和可用平台:z所有Unix衍生系统(LinuxMacOSXSolarisFreeBSD等等)zWin家族(WindowsNTXP等等)z早期平台:MacOSWindowsxDOSOSAIXz掌上平台(掌上电脑移动电话):NokiaSeriesSymbianOSWindowsCEPocketEdit By Vheavens Edit By Vheavens                               PCSharpZaurusarmlinuxPalmOSz游戏控制台:SonyPSPSPNintendoGameCubez实时平台:VxWorksQNXz其他实现版本:JythonIronPythonstacklessz其他Python大部分的最近版本都只是针对“三巨头”的。实际上最新的Linux和MacOSX版本都已经安装好了Python你只需查看一下是哪个版本。尽管其他平台只能找到相对较早的x对应版本但是就版而言这些版本也有了显著的改进。一些平台有其对应二进制版本可以直接安装另外一些则需要在安装前手工编译。Unix衍生系统(LinuxMacOSXSolarisFreeBSD等等)正如前文所述基于Unix的系统可能已经安装了Python。最好的检查方法就是通过命令行运行Python查看它是否在搜索路径中而且运行正常。只需输入:myMac:~wesley$pythonPython(#,Mar,::)GCC(AppleComputer,Incbuild)ondarwinType"help","copyright","credits"or"license"formoreinformation">>>"IfstartingPythonfails,itdoesn’tmeanit’snotinstalled,justthatit’snotinyourpathHuntaroundforit,andifyou’reunsuccessful,trybuildingitmanually,whichisn’tverydifficult(see“BuildItYourself”onthenextpage)Ifyou’reusingcertainversionsofLinux,youcangetthebinaryorsourceRPMsWindowsDOS系统首先从前文提到的pythonorg或是corepythoncom网站下载msi文件(例如pythonmsi)之后执行该文件安装Python。如果你打算开发Win程序例如使用COM或MFC或者需要Win库强烈建议下载并安装Python的Windows扩展。之后你就可以通过DOS命令行窗口或者IDLE和Pythonwin中的一个来运行Python了IDLE是Python缺省的IDE(IntegratedDevelopmentEnvironment集成开发环境)而Pythonwin则来自Windows扩展模块。Edit By Vheavens Edit By Vheavens                               自己动手编译Python对绝大多数其它平台下载tgz文件解压缩这些文件然后执行以下操作以编译Python:configuremakemakeinstallPython通常被安装在固定的位置所以你很容易就能找到。如今在系统上安装多种版本的Python已经是司空见惯的事情了。虽然容易找到二进制执行文件你还是要设置好库文件的安装位置。在Unix中可执行文件通常会将Python安装到usrlocalbin子目录下而库文件则通常安装在usrlocallibpythonx子目录下其中的x是你正在使用的版本号。MacOSX系统中Python则安装在swbin以及或者usrlocalbin子目录下。而库文件则在swlib,usrlocallib,以及或者LibraryFrameworksPythonframeworkVersions子目录下。在Windows中默认的安装地址是C:Pythonx。请避免将其安装在C:ProgramFiles目录下。是的我们知道这是通常安装程序的文件夹。但是DOS是不支持“ProgramFiles”这样的长文件名的它通常会被用“Progra~”这个别名代替。这有可能给程序运行带来一些麻烦所以最好尽量避免。所以听我的将Python安装在C:Python目录下这样标准库文件就会被安装在C:PythonLib目录下。运行Python有三种不同的办法来启动Python。最简单的方式就是交互式的启动解释器每次输入一行Python代码来执行。另外一种启动Python的方法是运行Python脚本。这样会调用相关的脚本解释器。最后一种办法就是用集成开发环境中的图形用户界面运行Python。集成开发环境通常整合了其他的工具例如集成的调试器、文本编辑器而且支持各种像CVS这样的源代码版本控制工具。命令行上的交互式解释器在命令行上启动解释器你马上就可以开始编写Python代码。在Unix,DOS或其它提供命令行解释器或shell窗口的系统中都可以这么做。学习Python的最好方法就是在交互式解Edit By Vheavens Edit By Vheavens                               释器中练习。在你需要体验Python的一些特性时交互式解释器也非常有用。Unix衍生系统(LinuxMacOSXSolarisFreeBSD等等)要访问Python除非你已经将Python所在路径添加到系统搜索路径之中否则就必须输入Python的完整路径名才可以启动Python。Python一般安装在usrbin或usrlocalbin子目录中。我们建议读者把Python(python执行文件或Jython执行文件如果你想使用Java版的解释器的话)添加到你的系统搜索路径之中这样你只需要输入解释器的名字就可以启动Python解释器了而不必每次都输入完整路径。要将Python添加到搜索路径中只需要检查你的登录启动脚本找到以setpath或PATH=指令开始后面跟着一串目录的那行然后添加解释器的完整路径。所有事情都做完之后更新一下shell路径变量。现在在Unix提示符(根据shell的不同可能是'’或'$')处键入python(或jython)就可以启动解释器了如下所示:$pythonPython启动成功之后你会看到解释器启动信息表明Python的版本号及平台信息最后显示解释器提示符">>>"等待你输入Python命令。WindoesDOS环境为了把Python添加到搜索路径中你需要编辑C:autoexecbat文件并将完整的Python安装路径添加其中。这通常是C:Python或C:ProgramFilesPython(或是“ProgramFiles”在DOS下的简写名字C:Progra~Python)要想在DOS中将Python添加到搜索路径中去需要编辑C:autoexecbat文件把Python的安装目录添加上去。一般是C:Python或C:ProgramFilesPython(或者它在DOS中的简写名字C:Progra~Python)在一个DOS窗口中(它可以是纯DOS环境或是在Windows中的启动的一个DOS窗口)启动Python的命令与Unix操作系统是一样的都是“python”:它们唯一的区别在于提示符不同DOS中是C:>如下图所示:图在一个UNIX(MacOSX)环境中启动Python时的屏幕画面。Edit By Vheavens Edit By Vheavens                               C:>python命令行选项当从命令行启动Python的时候可以给解释器一些选项。这里有部分选项可供选择:d提供调试输出O生成优化的字节码(生成pyo文件)S不导入site模块以在启动时查找Python路径v冗余输出(导入语句详细追踪)mmod将一个模块以脚本形式运行Qopt除法选项(参阅文档)ccmd运行以命令行字符串形式提交的Python脚本file从给定的文件运行Python脚本(参阅后文)图-在一个DOS命令行窗口启动PythonEdit By Vheavens Edit By Vheavens                               Figure–StartingPythoninaDOScommandwindow从命令行启动脚本Unix衍生系统(LinuxMacOSXSolarisFreeBSD等等)不管哪种Unix平台Python脚本都可以象下面这样在命令行上通过解释器执行:$pythonscriptpyPython脚本使用扩展名py上面的例子也说明了这一点。Unix平台还可以在不明确指定Python解释器的情况下自动执行Python解释器。如果你使用的是类Unix平台你可以在你的脚本的第一行使用shell魔术字符串(“shbang”):#!usrlocalbinpython在#!之后写上Python解释器的完整路径我们前面曾经提到Python解释器通常安装在usrlocalbin或usrbin目录下如果Python没有安装到那里你就必须确认你的Python解释器确实位于你指定的路径。错误的路径将导致出现类似于”找不到命令“的错误信息有一个更好的方案许多Unix系统有一个命令叫env位于bin或usrbin中。它会帮你在系统搜索路径中找到python解释器。如果你的系统拥有env,你的启动行就可以改为下面这样:Edit By Vheavens Edit By Vheavens                               #!usrbinenvpython或者如果你的env位于bin的话#!binenvpython当你不能确定Python的具体路径或者Python的路径经常变化时(但不能挪到系统搜索路径之外)env就非常有用。当你在你的脚本首行书写了合适的启动指令之后这个脚本就能够直接执行。当调用脚本时会先载入Python解释器然后运行你的脚本。我们刚才提到这样就不必显式的调用Python解释器了而你只需要键入脚本的文件名:$scriptpy注意在键入文件名之前必须先将这个文件的属性设置为可以执行。在文件列表中你的文件应该将它设置为自己拥有rwx权限。如果在确定Python安装路径或者改变文件权限或使用chmod命令时遇到困难请和系统管理员一道检查一下。WindowsDOS环境DOS命令窗口不支持自动执行机制不过至少在WinXP当中它能象在Windows中一样做到通过输入文件名执行脚本:这就是“文件类型”接口。这个接口允许Windows根据文件扩展名识别文件类型从而调用相应的程序来处理这个文件。举例来说如果你安装了带有PythonWin的Python双击一个带有py扩展名的Python脚本就会自动调用Python或PythonWinIDE(如果你安装了的话)来执行你的脚本。运行以下命令就和双击它的效果一样:C:>scriptpy这样无论是基于Unix操作系统还是Win操作系统都可以无需在命令行指定Python解释器的情况下运行脚本但是如果调用脚本时得到类似“命令无法识别”之类的错误提示信息你也总能正确处理。集成开发环境Edit By Vheavens Edit By Vheavens                               你也可以从图形用户界面环境运行Python你所需要的是支持Python的GUI程序。如果你已经找到了一个很有可能它恰好也是集成开发环境。集成开发环境不仅仅是图形接口通常会带有源代码编辑器、追踪和排错工具。Unix衍生系统(LinuxMacOSXSolarisFreeBSD等等)IDLE可以说是Unix平台下Python的第一个集成开发环境(IDE)。最初版本的IDLE也是贵铎范罗萨姆开发的在Python中它首次露面。IDLE代表的就是IDE只不过多了一个“L”。我猜测IDLE是借用了“蒙提派森”一个成员的名字译注嗯IDLE基于Tkinter,要运行它的话你的系统中必须先安装TclTk目前的Python发行版都带有一个迷你版的TclTk库因此就不再需要TclTk的完整安装了。如果你已经在系统中安装好了Python或者你有一个PythonRPM包可是它并没有包含IDLE或Tkinter那在你尝试IDLE之前必须先将这两样东西安装好。(如果你需要确实有一个独立的TkinterRPM包可以供你下载以便和Python一起工作)如果你是自己编译的Python,而且有Tk库可用那Tkinter会自动编译进Python,而且Tkinter和IDLE也会随Python的安装而安装。如果你打算运行IDLE,

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/49
仅支持在线阅读

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部