Python编辑词条10页word资料Word文件下载.docx
- 文档编号:22885289
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:14
- 大小:28.39KB
Python编辑词条10页word资料Word文件下载.docx
《Python编辑词条10页word资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《Python编辑词条10页word资料Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
10
本词条正文缺少必要目录和内容,欢迎各位编辑词条,额外获取10个积分。
基本信息
∙中文名称
python
∙外文名称
∙别名
蟒蛇语言
∙发行时间
1991年
∙设计者
GuidovanRossum
∙最新版本
3.3.1,3.2.4,2.7.5
∙荣誉
2019年度编程语言
1基本概念
2主要特点
3Python的优点:
4基本术语
5发展历程
6其他资料
1基本概念
2主要特点
4基本术语
4.1局限
4.2应用
5发展历程
6其他资料
6.1风格
6.2执行
6.3工具
6.4升级
6.5开发环境
6.6PythonIDE
6.7IDE软件
6.8问题
6.9学习网站
回到顶部意见反馈
QQ空间新浪微博腾讯微博XX贴吧人人豆瓣
∙相关搜索
∙大家都在搜
∙python基础教程
∙python下载
∙python视频教程
∙python学习手册
∙春晚收视率创新低
∙87届奥斯卡获奖名单
∙手机抢红包需缴税
∙央视春晚精彩回顾
基本概念折叠编辑本段
Python(KK英语发音:
paɪθɑn/,DJ英语发音:
/ˈpaiθən/)是一种面向对象、直译式计算机程序设计语言,由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。
Python语法简捷而清晰,具有丰富和强大的类库。
它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。
常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。
主要特点折叠编辑本段
简单:
Python是一种代表简单主义思想的语言。
阅读一个良好的Python程序就感觉像是在读英语一样。
它使你能够专注于解决问题而不是去搞明白语言本身。
易学:
Python极其容易上手,因为Python有极其简单的语法。
免费、开源:
Python是FLOSS(自由/开放源码软件)之一。
使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
FLOSS是基于一个团体分享知识的概念。
高层语言:
用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既支持面向过程的编程也支持面向对象的编程。
在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。
在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
可扩展性:
如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
可嵌入性:
可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
丰富的库:
Python标准库确实很庞大。
它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。
这被称作Python的“功能齐全”理念。
除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
规范的代码:
Python采用强制缩进的方式使得代码具有较好可读性。
Python的优点:
折叠编辑本段
Python是一种不受局限、跨平台的开源编程语言,它功能强大且简单易学。
因而得到了广泛应用和支持。
ArcGIS9.0社区中引入了Python。
此后,Python被视为可供地理处理用户选择的脚本语言并得以不断发展。
每个版本都进一步增强了Python体验,从而为您提供更多的功能以及更丰富、更友好的Python体验。
ESRI已将Python完全纳入ArcGIS中,并将其视为可满足我们用户社区需求的语言。
下面仅介绍Python的部分优势[1]:
∙易于学习,非常适合初学者,也特别适合专家使用
∙可伸缩程度高,适于大型项目或小型的一次性程序(称为脚本)
∙可移植,跨平台
∙可嵌入(使ArcGIS可脚本化)
∙稳定成熟
∙用户社区规模大
Python已延伸到ArcGIS中,成为了一种用于进行数据分析、数据转换、数据管理和地图自动化的语言,因而有助于提高工作效率。
基本术语折叠编辑本段
局限折叠
强制缩进:
这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。
单行语句和命令行输出问题:
很多时候不能将程序连写成一行,如importsys;
foriinsys.path:
printi。
而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。
应用折叠
系统编程:
提供API(ApplicationProgrammingInterface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。
图形处理:
有PIL、Tkinter等图形库支持,能方便进行图形处理。
数学处理:
NumPy扩展提供大量与许多标准数学库的接口。
文本处理:
python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
数据库编程:
程序员可通过遵循PythonDB-API(数据库应用程序编程接口)规范的模块与MicrosoftSQLServer,Oracle,Sybase,DB2,Mysql、SQLite等数据库通信。
python自带有一个Gadfly模块,提供了一个完整的SQL环境。
网络编程:
提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。
很多大规模软件开发计划例如Zope,Mnet及BitTorrent.Google都在广泛地使用它。
Web编程:
应用的开发语言,支持最新的XML技术。
多媒体应用:
Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。
PyGame模块可用于编写游戏软件。
发展历程折叠编辑本段
Python的创始人为GuidovanRossum。
1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。
之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫MontyPython的喜剧团体的爱好者。
ABC是由Guido参加设计的一种教学语言。
就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。
但是ABC语言并没有成功,究其原因,Guido认为是非开放造成的。
Guido决心在Python中避免这一错误。
同时,他还想实现在ABC中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。
实际上,第一个实现是在Mac机上。
可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。
并且结合了Unixshell和C的习惯。
其他资料折叠编辑本段
风格折叠
Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。
设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。
这在由TimPeters写的python格言(称为TheZenofPython)里面表述为:
Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There'
sMoreThanOneWayToDoIt)完全相反。
Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。
其中很重要的一项就是Python的缩进规则。
一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。
这一点曾经引起过争议。
因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。
不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。
执行折叠
Python在执行时,首先会将.py文件中的源代码编译成Python的bytecode(字节码),然后再由PythonVirtualMachine(Python虚拟机)来执行这些编译好的bytecode。
这种机制的基本思想跟Java,是一致的。
然而,PythonVirtualMachine与Java或的VirtualMachine不同的是,Python的VirtualMachine是一种更高级的VirtualMachine。
这里的高级并不是通常意义上的高级,不是说Python的VirtualMachine比Java或的功能更强大,而是说和Java或相比,Python的VirtualMachine距离真实机器的距离更远。
或者可以这么说,Python的VirtualMachine是一种抽象层次更高的VirtualMachine。
基于C的Python编译出的字节码文件,通常是.pyc格式。
工具折叠
部分工具列表
名称
功能
Tkinter
Python默认的图形界面接口。
Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对TkAPI的接口,它属于Tcl/Tk的GUI工具组。
PyGTK
用于pythonGUI程序开发的GTK+库。
GTK就是用来实现GIMP和Gnome的库。
PyQt
用于python的Qt开发库。
QT就是实现了KDE环境的那个库,由一系列的模块组成,有qt,qtcanvas,qtgl,qtnetwork,qtsql,qttable,qtuiandqtxml,包含有300个类和超过5750个的函数和方法。
PyQt还支持一个叫qtext的模块,它包含一个QScintilla库。
该库是Scintillar编辑器类的Qt接口。
wxPython
GUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构(对于初学者或者对设计要求不高的用户来说,使用BoaConstructor可以方便迅速的进行wxPython的开发)
PIL
python提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。
还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。
是Python用户进行图象处理的强有力工具。
Psyco
一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。
xmpppy
Jabber服务器采用开发的XMPP协议,GoogleTalk也是采用XMPP协议的IM系统。
在Python中有一个xmpppy模块支持该协议。
也就是说,我们可以通过该模块与Jabber服务器通信,是不是很Cool。
PyMedia
用于多媒体操作的python模块。
它提供了丰富而简单的接口用于多媒体处理(wav,mp3,ogg,avi,divx,dvd,cddaetc)。
可在Windows和Linux平台下使用。
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来编写,所以速度的优势很明显。
SAGE是基于NumPy和其他几个工具所整合成的数学软件包,目标是取代Magma,Maple,Mathematica和Matlab这类工具。
MySQLdb
用于连接MySQL数据库。
还有用于zope的ZMySQLDA模块,通过它就可在zope中连接mysql数据库。
Python-ldap
提供一组面向对象的API,可方便地在python中访问ldap目录服务,它基于OpenLDAP2.x。
smtplib
发送电子邮件。
ftplib
定义了FTP类和一些方法,用以进行客户端的ftp编程。
如果想了解ftp协议的详细内容,请参考RFC959。
展开
升级折叠
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类表示。
开发环境折叠
PythonIDE折叠
●IDLE:
Python内置IDE(随python安装包提供)
●Komodo和KomodoEdit:
后者是前者的免费精简版
●PythonWin:
ActivePython或pywin32均提供该IDE,仅适用于Windows
●SPE(Stani'
sPythonEditor):
功能较多的自由软件,基于wxPython
●Ulipad:
功能较全的自由软件,基于wxPython;
作者是中国Python高手limodou
●WingIDE:
可能是功能最全的IDE,但不是自由软件(教育用户和开源用户可以申请免费key)
●Eric:
基于PyQt的自由软件,功能强大。
全名是:
TheEricPythonIDE
●DrPython
●PyScripter:
使用Delphi开发的轻量级的开源PythonIDE,支持Python2.6和3.0。
●PyPE:
一个开源的跨平台的PythonIDE。
●bpython:
类Unix操作系统下使用curses库开发的轻量级的Python解释器。
语法提示功能。
IDE软件折叠
●eclipse+pydev插件:
方便调试程序
●emacs:
自带python支持,自动补全、refactor等功能需要插件支持
●Vim:
最新7.3版编译时可以加入python支持,提供python代码自动提示支持
●VisualStudio2019+VisualPython:
仅适用Windows,已停止维护,功能较差
●SlickEdit
●VisualStudio2019+PythonToolsforVisualStudio
●TextMate
●NetbeansIDE
另外,诸如EditPlus、UltraEdit、PSPad等通用的程序员文本编辑器软件也能对Python代码编辑提供一定的支持,比如代码自动着色、注释快捷键等,但是否够得上集成开发环境的水平,尚有待评估。
问题折叠
1.运行速度慢。
2.国内市场较小。
3.中文资料匮乏(好的python中文资料屈指可数)。
托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容还是只能看英语版。
4.构架选择太多。
不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。
学习网站折叠
1.python终极学习站点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 编辑 词条 10 word 资料