文章详细内容

Python计算机编程语言

Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言


绿软下载(https://www.ucrack.top/)2025年04月29日讯息:

Python介绍

Python由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于 1990年代初设计,作为一门叫做ABC语言的替代品。

Python提供了高效的高级数据结构,还能简单有效地面向对象编 程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平 台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新 功能的添加,逐渐被用于独立的、大型项目的开发。

Python在各个编程语言中比较适合新手学习,Python解释器易于扩 展,可以使用C、C++或其他可以通过C调用的语言扩展新的功能和数据 类型。

Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准 库,提供了适用于各个主要系统平台的源码或机器码。

Python发展历程

自20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统 管理任务的处理和Web编程。

1995年,Guido van Rossum在弗吉尼亚州的国家创新研究公司 (CNRI)继续他在Python上的工作,并在那里发布了该软件的多个版 本。

2000年五月,Guido van Rossum和Python核心开发团队转到BeOpen.com 并组建了BeOpen PythonLabs团队。同年十月,BeOpen PythonLabs团队转到 Digital Creations(现为Zope Corporation)。

2001年,Python软件基金会(PSF)成立,这是一个专为拥有Python相 关知识产权而创建的非营利组织。Zope Corporation是PSF的赞助成员。

Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989 年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发 一个新的脚本解释程序,作为ABC语言的一种继承。

之所以选中单词Python(意为大蟒蛇)作为该编程语言的名字,是 因为英国20世纪70年代首播的电视喜剧《蒙提·派森的飞行马戏团》 (Monty Python's Flying Circus)。

ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC这种 语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并 没有成功,究其原因,Guido认为是其非开放造成的。Guido决心在Python 中避免这一错误。同时,他还想实现在ABC中闪现过但未曾实现的东 西。就这样,Python在Guido手中诞生了。

可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相 当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

Python 已经成为最受欢迎的程序设计语言之一。

自从2004年以后,python的使用率呈线性增长。Python 2于2000年10月 16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完 全兼容Python 2。 2011年1月,它被TIOBE编程语言排行榜评为2010年度语 言。

由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做 科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程 序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机 科学及编程导论就使用Python语言讲授。

众多开源的科学计算软件包都提供了Python的调用接口,例如著名 的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而 Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计 算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组 处理、数值运算以及绘图功能。

因此Python语言及其众多的扩展库所构成的开发环境十分适合工程 技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程 序。2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1 日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的 支持,则需要付费给商业供应商。

Python语言特点

简单:Python是一种代表简单主义思想的语言。阅读一个良好的 Python程序就感觉像是在读英语一样。它让使用者能够专注于解决问题 而不是去搞明白语言本身。

易学:Python极其容易上手,因为Python有极其简单的说明文档 。

易读、易维护:风格清晰划一、强制缩进用途广泛。

速度较快:Python的底层是用C语言写的,很多标准库和第三方库也 都是用C写的。

免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可 以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的 一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。

高层语言:用Python语言编写程序的时候无需考虑诸如如何管理程 序使用的内存一类的底层细节。

可移植性:由于它的开源本质,Python已经被移植在许多平台上 (经过改动使它能够工作在不同平台上)。

这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、 Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、 Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、 PocketPC、Symbian以及Google基于linux开发的android平台。

解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即 C或C++语言)转换到一个计算机使用的语言(二进制代码,即0和1)。 这个过程通过编译器和不同的标记、选项完成。

运行程序的时候,连接/转载器软件把程序从硬盘复制到内存中并且 运行。而Python语言写的程序不需要编译成二进制代码。使用者可以直 接从源代码运行程序。

在计算机内部,Python解释器把源代码转换成称为字节码的中间形 式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用 Python更加简单。也使得Python程序更加易于移植。

面向对象:Python既支持面向过程的编程也支持面向对象的编程。 在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建 起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象 构建起来的。

Python是完全面向对象的语言。函数、模块、数字、字符串都是对 象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复 用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式 编程语言,Python对函数式设计只提供了有限的支持。有两个标准库 (functools,itertools)提供了Haskell和Standard ML中久经考验的函数式程 序设计工具。

可扩展性、可扩充性:如果需要一段关键代码运行得更快或者希望 某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使 用它们。

可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本 功能。

丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作, 包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、 CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、 GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的 “功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如 wxPython、Twisted和Python图像库等等。

规范的代码:Python采用强制缩进的方式使得代码具有较好可读 性。而Python语言写的程序不需要编译成二进制代码。Python的作者设计 限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右 缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完 全是由每行的首字符在这一行的位置来决定(而C语言是用一对大括号 来明确的定出模块的边界,与字符的位置毫无关系)。通过强制程序员 们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确 实使得程序更加清晰和美观。

高级动态编程:虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发计划例如Zope、Mnet及 BitTorrent,Google也广泛地使用它。Python的支持者较喜欢称它为一种高 级动态编程语言,原因是“脚本语言”泛指仅作简单程序设计任务的语 言,如shellscript、VBScript等只能处理简单任务的编程语言,并不能与 Python相提并论。

做科学计算优点多:说起科学计算,首先会被提到的可能是 MATLAB。除了MATLAB的一些专业性很强的工具箱还无法被替代之外, MATLAB的大部分常用功能都可以在Python世界中找到相应的扩展库。和 MATLAB相比,用Python做科学计算有如下优点:

●首先,MATLAB是一款商用软件,并且价格不菲。而Python完全免 费,众多开源的科学计算库都提供了Python的调用接口。用户可以在任 何计算机上免费安装Python及其绝大多数扩展库。

●其次,与MATLAB相比,Python是一门更易学、更严谨的程序设计语 言。它能让用户编写出更易读、易维护的代码。

●最后,MATLAB主要专注于工程和科学计算。然而即使在计算领 域,也经常会遇到文件管理、界面设计、网络通信等各种需求。而 Python有着丰富的扩展库,可以轻易完成各种高级任务,开发者可以用 Python实现完整应用程序所需的各种功能。

Python缺点

单行语句和命令行输出问题:很多时候不能将程序连写成一行,如 import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方 便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一 个.py文件。

给初学者带来困惑:独特的语法,这也许不应该被称为局限,但是 它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是 很有经验的Python程序员,也可能陷入陷阱当中。

运行速度慢这里是指与C和C++相比。Python开发人员尽量避开不成 熟或者不重要的优化。一些针对非重要部位的加快运行速度的补丁通常 不会被合并到Python内。所以很多人认为Python很慢。不过,根据二八定 律,大多数程序对速度要求不高。在某些对运行速度要求很高的情况, Python设计师倾向于使用JIT技术,或者用使用C/C++语言改写这部分程 序。可用的JIT技术是PyPy。