Python.docx

上传人:b****5 文档编号:4042754 上传时间:2022-11-27 格式:DOCX 页数:14 大小:37.94KB
下载 相关 举报
Python.docx_第1页
第1页 / 共14页
Python.docx_第2页
第2页 / 共14页
Python.docx_第3页
第3页 / 共14页
Python.docx_第4页
第4页 / 共14页
Python.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Python.docx

《Python.docx》由会员分享,可在线阅读,更多相关《Python.docx(14页珍藏版)》请在冰豆网上搜索。

Python.docx

Python

Python

百科名片

Python(KK英语发音:

/'pa?

θɑn/,DJ英语发音:

/?

paiθ?

n/),是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。

这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。

目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。

目录

简介

1.中文简介

2.英文简介

作为编程语言的设计定位

Python3.0

1.部分函数和语句的改变

2.字符串和字节

Python的HelloWorld程序

Python的历史

Python的设计理念

python的优缺点

1.优点

2.缺点

3.强制缩进

4.单行语句和命令行输出问题

Python的前景及应用

1.前景

2.应用范围

3.系统编程

4.图形处理

5.数学处理

6.文本处理

7.数据库编程

8.网络编程

9.Web编程

10.多媒体应用

Python的库

集成开发环境

1.专门为Python设计的IDE

2.有相应插件的通用IDE软件

简介

1.中文简介

2.英文简介

作为编程语言的设计定位

Python3.0

1.部分函数和语句的改变

2.字符串和字节

Python的HelloWorld程序

Python的历史

Python的设计理念

python的优缺点

1.优点

2.缺点

3.强制缩进

4.单行语句和命令行输出问题

Python的前景及应用

1.前景

2.应用范围

3.系统编程

4.图形处理

5.数学处理

6.文本处理

7.数据库编程

8.网络编程

9.Web编程

10.多媒体应用

∙Python的库

∙集成开发环境

1.专门为Python设计的IDE

2.有相应插件的通用IDE软件

展开

  

  

python

编辑本段简介

中文简介

  Python['paiθɑ:

n]英文发音似派森,因此中文可称之为:

派森。

具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。

它的名字来源于一个喜剧,也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用。

著名的自由软件作者EricRaymond在他的文章《如何成为一名黑客》中,将Python列为黑客应当学习的四种编程语言之一,并建议人们从Python开始学习编程。

这的确是一个中肯的建议,对于那些从来没有学习过编程或者并非计算机专业的编程学习者而言,Python是最好的选择之一。

英文简介

  Pythonisanobject-orientedexplanationofcomputerprogramminglanguages,isapowerfulandwell-size-fits-alllanguage,hasbeenmorethanadecadeofdevelopment,maturityandstability.Pythonscriptinglanguagewiththemostrichandpowerfulclasslibrary,enoughtosupportthevastmajorityofday-to-dayapplications.

  Thislanguagehasaverysimpleandclearcharacteristicsofgrammar,foravarietyofhigh-levelmissiontocomplete,almostalloftheoperatingsystemtorun.

  Atpresent,thislanguageisrelatedtotherapidtechnologicaldevelopment,therapidexpansionofthenumberofusers,andrelatedresources.

编辑本段作为编程语言的设计定位

  虽然Python可能被粗略地分类为“脚本语言”(scriptlanguage),但实际上一些大规模软件开发计划例如Zope、Mnet及BitTorrent,谷歌,facebook也广泛地使用它。

Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单编程任务的语言,如shellscript、JavaScript等只能处理简单任务的编程语言,并不能与Python相提并论。

  此外,由于Python对于C和其他语言的良好支持,很多人还把Python作为一种“胶水语言”(gluelanguage)使用。

使用Python将其他语言编写的程序进行集成和封装。

在谷歌内部的很多项目使用C++编写性能要求极高的部分,然后用Python调用相应的模块。

编辑本段Python3.0

  Python的3.0版本,在开发阶段被称为Python3000,或简称Py3k。

相对于Python的早期版本,这是一个较大的升级。

为了不带入过多的累赘,Python3.0在设计的时候就没有考虑向下兼容。

许多针对早期Python版本设计的程序都无法在Python3.0上正常运行。

为了照顾现有程序,Python2.6作为一个过渡版本,基本使用了Python2.x的语法和库,同时考虑了向Python3.0的迁移。

基于早期Python版本而能正常运行于Python2.6并无警告的程序可以通过一个2to3的转换工具无缝迁移到Python3.0。

  Python3.0的变化主要在以下几个方面:

部分函数和语句的改变

  最引人注意的改变是print语句没有了,取而代之的是print函数;

字符串和字节

  类似Java,str类表示一个Unicode字符串,代替了早期版本的unicode类。

而一堆字节则用类似b"abc"的语法创建,用bytes类表示;

编辑本段Python的HelloWorld程序

  下面是一个在标准输出设备上输出HelloWorld的简单程序

  

Python语言开发

,这种程序通常作为开始学习编程语言时的第一个程序:

  在python2.x版本中

  #!

/usr/bin/envpython

  print"Hello,world!

"

  或者:

  importsys

  sys.stdout.write("Hello,world\n")

  ///////

  在python3.x中

  print是一个完完全全的函数,需要修改成:

  print('Helloworld!

')

编辑本段Python的历史

  Python的创始人为GuidovanRossum。

1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。

之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个MontyPython的飞行马戏团的爱好者。

  ABC是由Guido参加设计的一种教学语言。

就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。

但是ABC语言并没有成功,究其原因,Guido认为是非开放造成的。

Guido决心在Python中避免这一错误(的确如此,Python与其它的语言如C、C++和Java结合的非常好)。

同时,他还想实现在ABC中闪现过但未曾实现的东西。

  就这样,Python在Guido手中诞生了。

实际上,第一个实现是在Mac机上。

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

并且结合了Unixshell和C的习惯。

  Python在编程语言中的定位

  很多大规模软件开发计划例如Zope,Mnet及BitTorrent.Google都在广泛地使用它。

  通常认为,Python是一种解释性的语言,但是这种说法是不正确的,实际上,Python在执行时,首先会将.py文件中的源代码编译成Python的bytecode(字节码),然后再由PythonVirtualMachine来执行这些编译好的bytecode。

这种机制的基本思想跟Java,.NET是一致的。

然而,PythonVirtualMachine与Java或.NET的VirtualMachine不同的是,Python的VirtualMachine是一种更高级的VirtualMachine。

这里的高级并不是通常意义上的高级,不是说Python的VirtualMachine比Java或.NET的功能更强大,而是说和Java或.NET相比,Python的VirtualMachine距离真实机器的距离更远。

或者可以这么说,Python的VirtualMachine是一种抽象层次更高的VirtualMachine。

  基于C的Python编译出的字节码文件,通常是.pyc格式。

  在实际开发中,python常被昵称为胶水语言,这不是说他会把你的手指粘住,而是说他能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。

常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。

编辑本段Python的设计理念

  可扩充性可说是Python作为一种编程语言的特色。

新的内置模块(module)可以用C或C++写成。

而我们也可为现成的模块加上Python的接口。

Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。

  Python也被称为是一门清晰的语言。

因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。

这在由TimPeters写的python格言(称为TheZenofPython)里面表述为:

  Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.

  有意思的是,这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There'sMoreThanOneWayToDoIt)完全相反。

这似乎是人们常把Perl和Python互相比较的重要原因。

  Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。

这样有意的强制程序员养成良好的编程习惯。

其中很重要的一项就是Python的缩进规则。

  例如if语句:

  ifage<21:

  print"Youcannotbuywine!

\n"

  print"Butyoucanbuychewinggum.\n"

  print"thisisoutsideif\n"

  一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。

这一点曾经引起过争议。

因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。

不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

  另外Python在其他部分的设计上也坚持了清晰划一的风格,这使得Python称为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。

Python直接编写的程序段有时运行效率甚至高于用C编写的程序。

编辑本段python的优缺点

优点

  简单————Python是一种代表简单主义思想的语言。

阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!

Python的这种伪代码本质是它最大的优点之一。

它使你能够专注于解决问题而不是去搞明白语言本身。

  易学————就如同你即将看到的一样,Python极其容易上手。

前面已经提到了,Python有极其简单的语法。

  免费、开源————Python是FLOSS(自由/开放源码软件)之一。

简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。

FLOSS是基于一个团体分享知识的概念。

这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。

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

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

如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。

这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、PalmOS、QNX、VMS、Psion、AcomRISCOS、VxWorks、PlayStation、SharpZaurus、WindowsCE甚至还有PocketPC、Symbian以及Google基于linux开发的android平台!

  解释性————这一点需要一些解释。

一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。

这个过程通过编译器和不同的标记、选项完成。

当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。

而Python语言写的程序不需要编译成二进制代码。

你可以直接从源代码运行程序。

在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。

事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。

由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。

  面向对象————Python既支持面向过程的编程也支持面向对象的编程。

在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。

在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

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

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

  丰富的库————Python标准库确实很庞大。

它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。

记住,只要安装了Python,所有这些功能都是可用的。

这被称作Python的“功能齐全”理念。

除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

  概括————Python确实是一种十分精彩又强大的语言。

它合理地结合了高性能与使得编写程序简单有趣的特色。

  规范的代码————Python采用强制缩进的方式使得代码具有极佳的可读性。

缺点

强制缩进

  这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。

即便是很有经验的Python程序员,也可能陷入陷阱当中。

最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。

单行语句和命令行输出问题

  很多时候不能将程序连写成一行,如importsys;foriinsys.path:

printi。

而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。

(对很多用户而言这也不算是限制)

  NO.1运行速度,有速度要求的话,用C++改写关键部分吧。

  NO.2国内市场较小(国内以python来做主要开发的,目前只有一些web2.0公司)。

但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规模使用他。

  No.3中文资料匮乏(好的python中文资料屈指可数)。

托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容还是只能看英语版。

  NO.4构架选择太多(没有像C#这样的官方.net构架,也没有像ruby由于历史较短,构架开发的相对集中。

RubyonRails构架开发中小型web程序天下无敌)。

不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。

编辑本段Python的前景及应用

前景

  Python在编程领域的占有率一直处于稳步上升之中,根据最新的数据,Python排名第六。

前五名分别是Java、C、C++、C#和PHP.作为一个很年轻的语言,Python的位置已经相当令人振奋了。

随着微软将Python纳入.Net平台,相信Python的将来会更加强劲发展。

Python很可能会成为.Net平台快速开发的主流语言。

欲了解这方面情况,请参考IronPython的相关信息.

  著名的搜索引擎Google也大量使用Python。

更加令人吃惊的是,在Nokia智能手机所采用的Symbian操作系统上,Python成为继C++,Java之后的第三个编程语言!

2006年的Google编程大赛已经将Python作为参赛语言之一,可见Python的影响力之巨大。

  Zope-应用服务器

  Plone-内容管理系统

  Django-鼓励快速开发的webframework

  Twisted-PythonNetworkApplicationFrameworkPython的网络应用程序框架

  TurboGears-另一个Web应用快速开发框架

  BitTorrent-著名的BT下载工具

  还有很多游戏也是用Python制作的

应用范围

系统编程

  提供API,能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。

图形处理

  有PIL、Tkinter等图形库支持,能方便进行图形处理。

数学处理

  NumPy扩展提供大量与许多标准数学库的接口。

文本处理

  python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。

数据库编程

  程序员可通过遵循PythonDB-API(数据库应用程序编程接口)规范的模块与MicrosoftSQLServer,Oracle,Sybase,DB2,Mysql、SQLite等数据库通信。

python自带有一个Gadfly模块,提供了一个完整的SQL环境。

网络编程

  提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。

Web编程

  应用的开发语言,支持最新的XML技术。

多媒体应用

  Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。

PyGame模块可用于编写游戏软件。

编辑本段Python的库

  由于设计者和开源社区的共同努力,在python中有大量优秀的库可以被直接调用以高效地完成不同需求的工作。

这里列举一些常见常用的库:

  Tkinter————Python默认的图形界面接口。

  Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对TkAPI的接口,它属于Tcl/Tk的GUI工具组。

Tcl/Tk是由JohnOusterhout发展的书写和图形设备。

Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的,目的是为了简化用户接口的设计过程。

Tk工具包由许多不同的小部件,如一个按钮、一个滚动条等。

通过Tk提供的这些小部件,我们就可快速地进行GUI开发。

Perl、Scheme等语言也利用Tk库进行GUI开发。

Tkinter是跨平台,在各种平台下都能使用。

  PythonImagingLibrary(PIL)————python提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。

还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。

是Python用户进行图象处理的强有力工具。

  Pmw(Pythonmegawidgets)Python超级GUI组件集————一个在python中利用Tkinter模块构建的高级GUI组件,每个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂的功能。

  PyXML————用Python解析和处理XML文档的工具包,包中的4DOM是完全相容于W3CDOM规范的。

它包含以下内容:

  xmlproc:

一个符合规范的XML解析器。

  Expat:

一个快速的,非验证的XML解析器。

还有其他

  和他同级别的还有PyHtmlPySGML

  PyGame————用于多媒体开发和游戏软件开发的模块。

  PyOpenGL————模块封装了“OpenGL应用程序编程接口”,通过该模块python程序员可在程序中集成2D和3D的图形。

  NumPy、NumArray和SAGE————NumArray是Python的一个扩展库,主要用于处理任意维数的固定类型数组,简单说就是一个矩阵库。

它的低层代码使用C来编写,所以速度的优势很明显。

NumPy是Numarray的后继者,用来代替NumArray。

SAGE是基于NumPy和其他几个工具所整合成的数学软件包,目标是取代Magma,Maple,Mathematica和Matlab这类工具。

  MySQLdb模块————用于连接MySQL数据库。

还有用于zope的ZMySQLDA模块,通过它就可在zope中连接mysql数据库。

  PyGTK————用于pythonGUI程序开发的GTK+库。

GTK就是用来实现GIMP和Gnome的那个库。

有了它,你完全可以自信的尝试自己制造

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1