Python2教程

Python是一种面向对象、解释型计算机程序设计语言。

Python(英国发音:/paθn/美国发音:/paθɑn/),是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开发行版发行于1991年。

Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNUGeneralPublicLicense)协议。Python语法简洁清晰,特色之一是强制用空白符(whitespace)作为语句缩进。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

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

Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行importthis可以获得完整的列表。

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

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

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

Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。因此,很多人还把Python作为一种“胶水语言”(gluelanguage)使用。使用Python将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如GoogleEngine使用C++编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。《Python技术手册》的作者马特利(AlexMartelli)说:“这很难讲,不过,2004年,Python已在Google内部使用,Google召募许多Python高手,但在这之前就已决定使用Python,他们的目的是Pythonwherewecan,C++wherewemust,在操控硬件的场合使用C++,在快速开发时候使用Python。”

Python在执行时,首先会将.py文件中的源代码编译成Python的bytecode(字节码),然后再由PythonVirtualMachine(Python虚拟机)来执行这些编译好的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还可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可实现交互操作。

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

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

3.速度快:Python的底层是用C语言写的,很多标准库和第三方库也都是用C写的,运行速度非常快。

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

6.可移植性:由于它的开源本质,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平台。

7.解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。

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

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

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

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

12.规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。

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

2.独特的语法:这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。

3.运行速度慢:这里是指与C和C++相比。

1.Tkinter:Python默认的图形界面接口。Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对TkAPI的接口,它属于Tcl/Tk的GUI工具组。

2.PyGTK:用于pythonGUI程序开发的GTK+库。GTK就是用来实现GIMP和Gnome的库。

3.PyQt:用于python的Qt开发库。QT就是实现了KDE环境的那个库,由一系列的模块组成,有qt,qtcanvas,qtgl,qtnetwork,qtsql,qttable,qtuiandqtxml,包含有300个类和超过5750个的函数和方法。PyQt还支持一个叫qtext的模块,它包含一个QScintilla库。该库是Scintillar编辑器类的Qt接口。

4.wxPython:GUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构(对于初学者或者对设计要求不高的用户来说,使用BoaConstructor可以方便迅速的进行wxPython的开发)

5.PIL:python提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。是Python用户进行图象处理的强有力工具。

6.Psyco:一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。

7.xmpppy:Jabber服务器采用开发的XMPP协议,GoogleTalk也是采用XMPP协议的IM系统。在Python中有一个xmpppy模块支持该协议。也就是说,我们可以通过该模块与Jabber服务器通信,是不是很Cool。

8.PyMedia:用于多媒体操作的python模块。它提供了丰富而简单的接口用于多媒体处理(wav,mp3,ogg,avi,divx,dvd,cddaetc)。可在Windows和Linux平台下使用。

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

10.PyXML:用Python解析和处理XML文档的工具包,包中的4DOM是完全相容于W3CDOM规范的。它包含以下内容:

Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库命名接口清晰、文档良好,很容易学习和使用。

Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能无所不包,覆盖科学计算、Web开发、数据库接口、图形系统多个领域,并且大多成熟而稳定。第三方模块可以使用Python或者C语言编写。SWIG,SIP常用于将C语言编写的程序库转化为Python模块。BoostC++Libraries包含了一组库,Boost.Python,使得以Python或C++编写的程序能互相调用。借助于拥有基于标准库的大量工具、能够使用低级语言如C和可以作为其他库接口的C++,Python已成为一种强大的应用于其他语言与工具之间的胶水语言。

Python标准库的主要功能有:

1.文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持,二进制数据处理等功能

2.文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能

4.网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能

5.网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架W3C格式支持,包含HTML,SGML,XML的处理。

THE END
1.Python教程—Python3.8.20文档Python 解释器易于扩展,可以使用 C 或 C++(或者其他可以从 C 调用的语言)扩展新的功能和数据类型。Python 也可用作可定制化软件中的扩展程序语言。 这个教程非正式地介绍了 Python 语言和系统的基本概念和功能。最好在阅读的时候准备一个 Python 解释器进行练习。所有的例子都是相互独立的,所以这个教程也可以离线阅读https://docs.python.org/zh-cn/3.8/tutorial/index.html
2.python入门基础(完整)python入门教程(非常详细)Python基础教程,Python入门教程(非常详细).pdf 06-12 Python以其简洁易学的特点闻名,对于初学者而言,它是入门编程的理想选择。相比Java等语言,Python的代码更简洁,例如,同样的功能,Java可能需要100行代码,而Python可能只需20行。Python的易学性在于它无需关注 Python入门 11-21 Python入门,Python基础学习视频。https://blog.csdn.net/weixin_55154866/article/details/134711050
3.Python基础教程(第3版)分类:计算机 >编程语言 >Python PythonPython编程Python基础教程Python入门 加入心愿单 1663 推荐 88 在线阅读 139.7K 随书下载 文件2 购买方式 电子书 epub mobi pdf ¥ 49.99 样书 99银子 其他渠道 有赞 当当 京东 图书介绍 在线阅读 41 勘误 特别说明 https://www.ituring.com.cn/book/2118
4.Python基础教程(第2版)(豆瓣)图灵程序设计丛书·Python系列(共54册), 这套丛书还有 《Python编程(第3版)》《Python计算机视觉编程》《Python编程》《CPython设计与实现》《Python数据分析》 等。 喜欢读"Python基础教程(第2版)"的人也喜欢的电子书· ··· 支持Web、iPhone、iPad、Android 阅读器 机器学习https://book.douban.com/subject/4866934/
5.python基础教程python基础教程,是python入门部分,进学python必修的课程.https://www.xin3721.com/Python/list113116.html
6.Python基础教程1. Python 基础教程 Python 基础教程 Python 简介 Python 发展历史 Python 特点 Python 环境搭建 Python下载 Python安装 环境变量配置 Python 环境变量 运行Python Python 中文编码 Python 中文编码-实例 第一个 Python 程序 Python 标识符 Python 保留字符 https://cloud.tencent.com/edu/learning/course-2104-25322
7.Python基础教程问图书管理员 馆际互借 点赞 收藏 访问借阅管理系统 分享 作者:赫特兰 ISBN:9787115474889 出版社:人民邮电出版社 出版年:2018 作者:赫特兰 ISBN:9787115353528 出版社:人民邮电出版社 出版年:2014 Python基础教程 作者:相甍甍 ISBN:9787302528906 出版社:清华大学出版社 https://www.las.ac.cn/front/book/detail?id=aaf826c229dbd244012da94f993265dd
8.Python编程基础教程本书是面向初学者的一本Python基础教程。全书共20章和5个附录。各章的主要内容如下。 第1章介绍了Python语言的历史,阐述了学习Python编程的重要性及特点、Python的应用领域,并且介绍了Anaconda的安装步骤。 第2章介绍了变量、运算符、关键字和对象,说明了如何使用数字和分数,讨论了字符串、列表和元组,以及它们的相关https://www.epubit.com/bookDetails?id=UB71ebb2ed384c7
9.python基础教程(第2版·修订版)中文版高清pdf版[30MB]电子书下载Python基础教程(第2版.修订版)包括Python程序设计的方方面面,首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句。然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器。此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而https://www.jb51.net/books/361157.html
10.python基础教程python教程下载python自学教程python教程专题是由绿色资源网站免费提供的教学文档。包括python学习手册、python开发实战、python入门经典等一系列免费的电子书教程。所有教程均为PDF文件高清扫描版,通过图文结合,为python学员们提供清晰的教程步骤,自学python的朋友可以来本站下载使用。而且整理了很多有关于python学习相关的学习资料,相信有需要的人会有http://www.downcc.com/k/pythonjiaocheng/
11.python基础教程python语言入门python基础入门教程频道:精选了多部python编程入门课程,分为高清视频教程、图文教程、在线手册等多种形式,欢迎在线学习!https://www.py.cn/course/list/97.html
12.pythonPython基础教程本文主要参考书本:Magnus Lie Hetland著,司维等人译的Python基础教程。在这里做个主要的笔记记录,并不会包含所有的知识点哦,像python的安装,加减法这样的就不写上来浪费大家的时间了,当然太细节的东西也只需要用到的时候再去学就可以了。 chap 1 基础知识 https://www.jianshu.com/p/e22a24a185ad
13.python基础教程第三版.pdfpython基础教程第三版:下载前务必先预览,自己验证一下是不是你要下载的文档! www.TopS 计算机精品学习资料大放送 软考官方指定教材及同步辅导书下载 | 软考历年真是解析与答案 软考视频 | 考试机构 | 考试时间安排 Java 一览无余:Java 视频教程 | Java SE | Java EE .Net 技术精品资料下载汇总:ASP.NET 篇 https://max.book118.com/html/2019/0329/8130027113002014.shtm
14.python基础教程从入门到精通高清在线观看PP视频首页 频道 搜索热搜榜 开通会员 客户端 看过 收藏 消息 您的Flash插件已过期或被禁止 升级或启用Flash python基础教程-从入门到精通 内容简介https://m.pptv.com/show/bskVkicth0Q9y8Fg.html
15.Python基础入门教程Python基础入门教程 从小白到大神 懂法的程序猿 ? 湖南航天远望科技有限公司 工程师 · 154 篇内容 · 196 赞同 · 3 订阅 订阅专栏 专栏介绍 已更内容 从小白到大神 专栏作者 懂法的程序猿? 律师高工双料加持 知乎影响力 获得344 次赞同 · 138 次喜欢 · 906 次收藏https://www.zhihu.com/column/c_1488180102509293568
16.Python基础系列教程课程介绍:Python基础系列教程 立即播放 课程免费缓存,随时观看~ 扫码下载网易公开课APP 收藏 课程列表 【第1集】介绍/环境搭建(上)译 【第2集】介绍/环境搭建(下)译 【第3集】Python基础语法(上)译 【第4集】Python基础语法(下)译 【第5集】Python控制流与数据结构(上)译 https://open.163.com/newview/movie/courseintro?newurl=LHKF0SKAA
17.Python零基础入门教程共37课时Python课程零基础入门,想学习Python的朋友,通俗易懂 你将会学到: 多面学习Python核心技术,灵活应用Python 课程简介: 基于新的Python 3版本,多面的Python教学视频,以通俗易懂的方式讲解Python核心技术,适合初学者的教程,让你少走弯路! 课程内容包括: 1.Python简介和安装 2.Python程序、PyCharm的使用 3.Python基础(变量、数https://edu.51cto.com/course/14859.html
18.Python编程进阶教程我要自学网-免费视频教程,提供全方位软件学习,有3D教程,平面教程,多媒体制作教程,办公信息化教程,机械设计教程,网站制作教程,电脑培训https://www.51zxw.net/List.aspx?cid=1072