前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 史话

Python 史话

作者头像
py3study
发布2020-01-06 10:26:25
5470
发布2020-01-06 10:26:25
举报
文章被收录于专栏:python3python3

Python /pi:'thon/ 用作者的话说, Python是另一个脚本语言,另一个Perl。 Python的设计崇尚简洁和优雅,它主要吸引那些觉得Perl 丑陋怪异的程序员。Python \Py"thon\, n. Python是卧在特尔斐阿波罗神殿的毒蛇的名字。Python一种大型蟒蛇。

Python是一种解释型、交互式、面向对象的通用编程语言,它的标识是一条可爱的大蟒蛇。我们经常拿它和Tcl、Perl、Scheme、Java 比较:Python有非常清晰的语法,先进的面向对象设计,拥有模块、类、异常处理、动态执行和高级数据类型。强大的标准库涵盖了字串处理(正则表达式)、网络协议(HTTP, FTP, SMTP,XML-RPC, POP, IMAP)、软件工程(敏捷开发,单元测试,logging)、操作系统接口(系统调用,文件系统,数据库)的方方面面。此外它还拥有大量的第三方扩展库和庞大活跃的社群支持,比如图形库PIL,跨平台GUI框架wxPython,应用服务器Zope,网络框twisted,3D支持PyOpenGL。简单,强大,开放和免费,就是使用Python最好的理由。Guido van Rossum 是Python语言的作者。据称Guido 因喜爱英国BBC每周滑稽剧Monty Python'sFlying Circus 而命名Python。象Linux 和Delphi这类单词的发音总是另人迷惑,Python社区称Python为派森[音],称Guido为奎多[音]的占了大多数。要知道Guido怎么念自己的名字,不妨到他主页里查找注音,还会有 一个搞怪的音频guido.au。(Guido 在英文发念/gwee'do/,在荷兰语中念 /khwee'do/)上世纪80年代,Guido在荷兰阿姆斯特丹为CWI工作时,曾实现过一个教学语言ABC。ABC不容易扩展,但也有很多吸引人的特性。Guido总结了ABC失败的经验,从1989年十二月开始开发Python,并吸收了C、Modula-3、Bourne shell 和Icon等语言的很多优点,到1991 年二月,Python 0.9.0 第一次正式发布在USENET。Gudio 的主页上面题有:笨拙并以此为荣(Gawkyand proud of it)。他推崇开放和自由,喜欢印有YouNeed Python的文化衫和PYTHON的车牌,主张Computer Programming for Everybody,让Python为我们开心地工作。Gudio过去一直对语言的变革态度保守,因而被社区称为“仁慈的□□□□者BDFL”(BenevolentDictator For Life)。1995年Guido一家迁居美国后开始为Zope公司工作。Guido带着他忠实的团队来到Zope.com,这是当时Python社区非常关注的一件大事,大家都希望Guido的×××能给未来的Zope 3 这个重量级应用服务器注入新的 活力。后来看到,Guido为了赚钱供他的孩子将来上大学,最后还是不得已告别了他共事8年心爱的Python-Labs团队,离开了加州的Zope,前往西海岸的ElementalSecurity从事企业级安全研究。听起来真是令人沮丧。在自由的世界里振臂一呼应者云集的英雄Guido,在现实 生活中居然算不上是有钱人!Gudio和他的Python在2002年赢得自由软件基金会年度大奖。Python的繁荣主要归功于开放自由的社区力量。开发小组成员利用邮件列表python-dev和新闻组comp.lang.python沟通交流,用SourceForge 完成代码管理、版本控制、特性跟踪、Bugs修复、提交补丁。SourceForge 的tracker列表里总是排满了最新提交的项目计划。由Guido本人和Bruce Eckel主持的PyCon2004 是面向Python社区的开发者盛会。PyCon2004议题涉及Web开发、数学和科学计算、Pyrex、Zope、GUI、3D、面向对象、Twisted网络框架、分布式应用。值得注意得 是Andrew Koenig这位C++社区的重量级人物出席并作了非常有趣的演讲。Python被设计为和C密切整合的胶水语言。常常用C为Python编写功能模块、底层接口和增强性能,利用Python完成逻辑抽象和原型开发。C也可以将Python嵌入执行(调用虚拟机解释执行)。C++库Boost.Python可以完成C++到Python类型的映射。Python简洁的语法,高级的数据类型,自动内存管理,健壮的虚拟机和丰富的标准库可以极大地提高生产力。体验一下Python使用弱类型带来的好处: def sum(arg1, arg2): return arg1 + arg2 print sum(42, 47.8) print sum('spam', 'eggs') 完成相同功能又具有灵活性的Java/C++代码实际上是不容易写的。C++使用模板就轻松搞定了么?C/C++ 体制里面隐藏的类型转换实在令人担忧。(C++View创刊号专门讨论过用C++如何求两数之和,BruceEckel给过一个Java实现。)Python语言特别强调简洁,优雅,自然的风格。锯齿型的代码缩进,简短的代码,清晰统一的语法规则。解释和交互执行,可以节约程序员编码和调试的时间。可 以象Java一样编译成字节码来提高执行速度。针对Python执行效率的优化产生很多方案。当然,首先要确认Python已经足够快。我们经常会发现执行 Python 应用程序所花费的时间绝大部分只是花在了几个函数上。将这些关键部分重写成 C 扩展模块,可以使用像 SWIG这样的扩展封装器扩展,将程序中最耗时元素作为C代码执行。已经创建了一种叫Pyrex 的语言,它融合了Python 和 C。一旦用 C 编译器进行了编译,就可以将这些Pyrex语言模块导入常规的 Python 应用程序并使用。与直接用C编写扩展相比,Pyrex允许在同一代码中更无缝地混合C级别的变量和Python级别的变量对象。扩展模块Psyco还可以插入Python解释器的内部,让它运行得更快。Python语言非常接近人类的自然语言。Python源程序被称作可执行的伪代码,具有极高的可读性。许多特性帮助你降低了产生错误的可能性。你相信这是一段python程序吗: member and folder is not object and object. displayContentsTab() 脚本语言通常有轻便灵活的特点。Python是平台兼容,高度可移植的,可以运行在许多Unix 变体,Mac,MS-DOS,Windows,嵌入式等平台。Python 2.0增加了对Unicode支持。Python社区还为你提供了最佳的工具和商业应用的秘密武器。win32all 作为Python在Win32 平台上的扩展,可 以很方便调用Win32 API和COM对象。用VB.NET可以做到的,通过win32all一样可以方便的实现。.NET 平台的Common Language Runtime(CLR)可以运行多种语言。Python for .NET可以与.NET框架互操作。譬如,如果Python类是公用的,Visual Basic程序员便能够继承它。JPython(Jython)是CPython(Python)语言的100%纯Java实现,可以运行在任何支持 JVM 的平台 上;它结合了Python及Java虚拟机和库的优点,并作为Java平台的方便补充,可以完全利用 JRE提供的所有类和API。Jython非常容易学习和使用,它的生产力在于结合了脚本语言Python的易用性与Java平台的健壮性。同Java一样Jython程序可以编译成Java字节码,增强了Java的字符串和文本支持功能使它成为Java程序最理想的嵌入脚本语言。J P y t h o n 函数设计(Functional programming)也为Java提供了强大和灵活的编程样式,共享了Python特有的动态特性,甚至可 以在运行时改变基类。现在可以得到的稳定版本是Jython 1.1。Python 2.3.4 (May 27, 2004)是最新的生产版本。活跃的Python一直在不断的进化之中。我们总是可以在Python中发现和体验当今最热门的新技术:未来的Python 3.0可能因为PyPy(implementingPython in Python)而引起语法上的激进变化。甚至有可能加入JIT(Just-In-Time, 运行时编译执行的技术,Java语言即采用该技术)编译支持。Guido 在个人的Blog里,提出敏捷编程Python化(Pythonic Agile Programming)。Python的某些特征专门适合敏捷开发(单元测试框架unittest,文档字串pydoc以及它支持的 inspect都是标准库的一部分)。Python已经集成在大多数Linux发行版中。RedHat 使用Python制作安装程序Anaconda(蟒蛇)。Gentoo的emerge 和portage 使用Python构建完整的系统。所有运行Mac OS X的Apple计算机的基本安装都包括Python。HP和Compaq的很多机器使用Python进行服务管Zope应用服务器是Python构建复杂系统的最佳实例。Plone内容管理系统是Zope应用最广泛的产品。Zope和Plone方案成了O'Reilly Open Source Conference2004 的明星。BitTorrent使得Python更加出名和流行。BT完美地应用了Python相关的多种解决方案:设计优雅、跨平台的语言和标准网络库的强力支持,wxPython跨平台的GUI,用py2exe绑定虚拟机并编译为可执行程序发布。RealNetworks的开源项目Helix 播放器(RealOne)用Python构建应用系统。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档