当前位置:
首页 > 教材教辅 > 中职/高职 > Python 3基础教程pdf/doc/txt格式电子书下载

Python 3基础教程pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

Python 3基础教程pdf/doc/txt格式电子书下载

书名:Python 3基础教程pdf/doc/txt格式电子书下载

推荐语:零基础入门Python

作者:邓英,夏帮贵

出版社:人民邮电出版社

出版时间:2016-10-01

书籍编号:30469098

ISBN:9787115434876

正文语种:中文

字数:310594

版次:1

所属分类:教材教辅-中职/高职

全书内容:

Python 3基础教程pdf/doc/txt格式电子书下载






内容提要


本书注重基础、循序渐进,系统地讲述了Python程序设计开发的相关知识。全书共分章,涵盖了Python开发环境及工具、编程基础、程序流程控制、函数与模块、面向对象编程、异常处理、数据库编程和tkinter GUI编程等内容。


本书内容丰富,讲解详细,适用于初、中级Python用户,可作为各类院校计算机相关专业教材,也可作为Python爱好者的参考书。

前言


Python因其功能强大、简单易学、开发成本低廉,已成为深受广大应用开发人员喜爱的程序设计语言之一。作为一门优秀的程序设计语言,Python被广泛应用到各种领域,从简单的文字处理,到网站和游戏开发,甚至机器人和航天飞机控制,都可以找到Python的身影。


本书特别针对Python零基础编程爱好者,进行了内容编排和章节组织,争取让读者在短时间内掌握Python的基本技术和方法。


本书具有如下特点。


1. 零基础入门


读者即使没有其他程序设计语言的相关基础,跟随本书也可轻松掌握Python的各种基本技术和使用方法。


2. 学习成本低


本书在构建开发环境时,选择了应用最为广泛的Windows操作系统、稳定版Python 3.5,使用Python 3.5自带的集成开发工具IDLE等进行学习和操作,没有特别的软件和硬件要求。


3. 内容编排精心设计


Python程序设计涉及的范围非常广泛,本书内容编排并不求全、求深,而是考虑零基础读者的接受能力,选择Python中必备、实用的知识进行讲解。知识和配套实例循序渐进、环环相扣。


4. 强调理论与实践相结合


书中每章末尾的编程实践环节都尽量安排一个短小、完整的实例,方便教师教学,也方便学生学习。


5. 完整收集学习必备资源


为了方便读者学习,本书提供所有实例的源代码、数据库文件以及资源。源代码可在学习过程中直接使用,参考相关章节进行配置即可。


本书主要内容如下所示。

005-01

本书由西华大学邓英、夏帮贵主编,夏帮贵编写第1~3章,邓英编写第4~8章并负责全书统稿。同时赖霞、刘凡新、雷鸣彬、邵军、宋玉忠、陈利娅、陈子春、刘鹏惠、申绪英等人也参与了本书的编写。本书源代码、PPT等相关资源可登录人民邮电出版社教育社区(www.ryjiaoyu.com)免费下载。


由于编者水平有限,书中难免存在不妥之处,敬请广大读者批评指正。


编者
2016年7月

第1章 Python起步


Python是一种面向对象的、解释型的计算机高级程序设计语言,由Guido van Rossum于1989年开始开发,并于1991年发布第一个公开发行版。Python是纯粹的开源自由软件,其源代码和解释器均遵循GPL(GNU General Public License)协议。Python具有语法简洁、易于学习、功能强大、可扩展性强、跨平台等诸多特点,逐渐成为最受欢迎的程序设计语言之一。


本章要点


• Python的发展


• Python的特点


• Python运行方式


• Python开发环境配置


• Python开发工具


1.1 认识Python


欢迎来到Python的世界。本节将从Python的发展、应用、特点和版本等内容开始,带领读者了解和认识Python。


1.1.1 Python的发展


1989年圣诞节,Guido在阿姆斯特丹开始准备开发一种新的程序设计语言。作为Monty Python喜剧团体的粉丝,Guido将这门新的语言命名为Python。Python的灵感来自ABC语言—Guido参与开发的一种适用于非专业程序开发人员的教学语言。Python认为ABC语言优美、功能强大,ABC未获得成功主要是非开放造成的,所以,Guido一开始将Python主要目标之一定位在开放性。同时,Guido还想在Python中实现一些在ABC中闪现过但未曾实现的东西。可以说,Python起源于ABC,并受到了Modula-3语言的影响,同时结合了UNIX Shell和C语言的习惯。


经过多年的发展,Python已经成为最受欢迎的程序设计语言之一。2011年1月,TIOBE将Python评为编程语言排行榜2010年度语言。TIOBE网站地址为:http://www.tiobe.com/tiobe_index。图1-1显示了截至2016年7月的TIOBE程序设计语言排行榜,Python在众多的程序设计语言中排在Java、C、C++之后,处于第4位,其影响力可见一斑。

012-02

图1-1 TIOBE程序设计语言排行榜

详细了解Python的现状,请访问Python官方网站:http://www.python.org。


1.1.2 Python的应用案例


目前,不少公司使用了Python来开发自己的产品。例如:


• 世界上最大的视频分享网站YouTube的视频分享服务大部分采用Python实现。


• 首个P2P文件分享软件BitTorrent也是采用Python实现。


• 大型多人在线游戏EVE Online广泛使用了Python。


• Autodesk旗下的著名三维建模和动画软件Maya,为Python提供了API(Application Programming Interface,应用程序编程接口)。


• Intel、Cisco、HP、Seagate、Qualcomm和IBM等公司使用Python进行硬件测试。


• Pixar、Industrial Light & Magic等电影公司使用Python制作动画电影。


• JPMorgan Chase、UBS、GETCO、Citadel等公司使用Python做市场预测。


• NASA、Los Alamos、Fermilab、JPL等使用Python执行科学计算。


• iRobot使用Python开发了机器人真空吸尘器。


• ESRI使用Python为终端用户定制GIS地图产品。


• NSA应用Python实现加密和智能分析。


• IronPort使用Python实现其电子邮件服务器产品。


• Google、Yahoo、搜狐邮箱、知乎、果壳等也广泛使用了Python。


在Python官方网站的Python Success Stories(http://www.python.org/about/success/)中介绍了大量应用Python获得成功的公司和组织机构的典型案例。


1.1.3 Python的应用领域


作为一门优秀的程序设计语言,Python被广泛应用于各种领域,从简单的文字处理,到网站和游戏开发,甚至于机器人和航天飞机控制,都可以找到Python的身影。


1. 系统编程


Python可以访问操作系统API,为其编写可移植的系统维护和管理工具。Python程序可以访问系统目录和文件,可以运行其他程序,也可编程进程和线程执行并行处理等。


Python标准库集成了POSIX(Portable Operating System Interface,可移植操作系统接口)和其他常见操作系统工具:环境变量、文件、套接字、管道、进程、多线程、正则表达式、命令行参数、标准流接口、Shell目录启动器、文件扩展名等。大部分系统工具继承了Python的可移植特性。


2. GUI编程


GUI指Graphical User Interface(图形用户界面)。使用Python可以非常简单、快捷地实现GUI程序。Python内置了Tkinter的标准面向对象接口Tk GUI API。应用Tk GUI API实现的Python GUI程序,可以不做任何改变运行在Windows、X Window(UNIX和Linux)和Mac OS等多种平台上。


还可以使用其他一些扩展包,如PMW、wxPython GUI、PythonCard和Dabo等,也可在Python中创建GUI应用。


3. Web应用


Python包含了标准Internet模块,可用于实现各种网络任务。Python脚本可以通过套接字进行网络通信;可编写服务器CGI脚本处理客户端表单信息;可通过FTP传输文件;可以生成、解析和分析XML文件;可处理Email;可通过URL获取网页;可从网页中解析HTML和XML;可通过XML-PRC、SOAP和Telnet通信。


Python也可用第三方工具进行Web应用开发。例如,HTMLgen包可用于生成HTML文件,mod_python可用于生成运行于Apache服务器上的Python应用并支持Python Server Page,Jython可以实现与Java无缝集成的Applet。大量的第三方工具,使Python可用于开发完整的、企业级的Web应用。


4. 组件集成


Python本身是用C实现的,所以可以使用C/C++进行扩展。Python也被称为“胶水”语言,既可集成各种C/C++库,也可将Python嵌入到其他语言中。


例如,PythonCOM是Windows支持的COM,Jython是基于Java平台的Python系统,基于.NET平台可实现IronPython和各种CORBA工具包。利用组件包,可以编写Python脚本,在Windows中处理微软的Word和Excel文件。


5. 数据库编程


Python提供了访问各种主流数据库的API,包括Microsoft SQL Server、Oracle、Sybase、DB2、MySQL、SQLite等。Python还自带一个Gadfly模块,提供了一个完整的SQL环境。


从Python 2.5起,SQLite成为了Python内置标准库的一部分。


6. 数值计算和科学计算


Python的NumPy扩展提供了大量的标准数学库的接口,例如矩阵对象、标准数学库等。SciPy和Matplotlib扩展也为Python提供了快速数组处理、数值运算以及绘图功能。众多的扩展库使Python十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。


相比于著名的科学计算商业软件MATLAB,Python是完全免费的,而且是一门更易学、更严谨的程序设计语言。MATLAB主要专注于工程和科学计算,而Python通过各种扩展库,可以在满足计算的同时,实现文件管理、界面设计、网络通信等各种高级任务。


7. 游戏、图像、人工智能、机器人、XML等其他领域


Python的应用领域非常多,其中包括:


• 使用Pygame扩展包进行图形和游戏应用开发。


• 使用PySerial扩展包在Windows、Linux或其他系统上开发串口通信应用。


• 使用PIL、PyOpenGL、Blender、Maya和其他扩展包开发图形或3D应用。


• 使用PyRo扩展包开发机器人控制程序。


• 使用XML库、xmlrpclib模块或第三方扩展包解析XML。


• 使用PyBrain扩展包开发人工智能应用。


• 使用NLTK扩展包开发自然语言分析应用。

提示:Python的应用精彩纷呈,可以从Python官网了解更多信息,也可从IBM的“developerWorks中国”网站的“Python技术专题”(http://www.ibm.com/developerworks/cn/linux/theme/python/)了解Python的各种应用。

1.1.4 Python的特点


Python具有下列显著特点。


1. Python是免费的开源自由软件


Python遵循GPL协议,也是免费的,不管是用于个人还是商业用途,开发人员都无须支付任何费用,也不用担心版权问题。


作为开源软件,程序员可以获得Python源代码,以研究其内部细节,并可加以修改使其针对目标更加适用。也可以将Python嵌入系统或随产品一起发布,甚至于销售Python的源代码,都没有任何限制。


2. Python是面向对象的


面向对象(Object Oriented,OO)是现代高级程序设计语言的一个重要特征。多态、运算符重载、继承和多重继承等面向对象编程(Object Oriented Programming,OOP)的主要特征也在Python的类模块中得到很好的支持。得益于Python简洁的语法和数据类型系统,Python中的OOP也变得极为简单,比其他语言容易。


OOP是Python的一个重要特征,初学者也不必为此感到担心。Python同样支持传统的面向过程的编程模式,完全可以在具有一定基础之后再深入学习Python的OOP。


3. Python具有良好的跨平台特性


Python是用ANSI C实现的。C语言因为跨平台和良好的可移植性成为了经典的程序设计语言。这意味着Python也具有良好的跨平台特性,可在目前所有的主流平台上编译和运行。所以,在Windows下编程的Python程序,可以轻松地在Linux等其他系统中运行。


因为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、Android和iOS等平台。


4. Python功能强大


Python既属于脚本语言,也属于高级程序设计语言,所以,Python具有脚本语言(如Perl、Tcl和Scheme等)的简单、易用特点,也具有高级程序设计语言(如C、C++和Java等)的强大功能。

提示:提到脚本语言容易让人想到JavaScript和VBScript等网页脚本编程语言,Python的功能远远不是普通脚本语言能够比拟的。

Python具有的一些强大功能如下。


动态数据类型:Python在代码运行过程中跟踪变量的数据类型,不需要在代码中声明变量的类型,也不要求在使用之前对变量进行类型声明。


自动内存管理:良好的内存管理机制意味着程序运行具有更高的性能。Python程序员无须关心内存的使用和管理,Python自动分配和回收内存。


大型程序支持:通过子模块、类和异常等工具,允许Python应用于大型程序开发。


内置数据结构:Python提供了常用数据结构支持。例如,列表、字段、字符串等都属于Python内置对象。同时,Python也实现了各种数据结构的标准操作,如合并、分片、排序和映射等。


内置库:Python提供丰富的标准库,从正则表达式匹配到网络等,使Python可以现实多种应用。


第三方工具集成:Python很容易集成第三方工具,通过各种扩展包将其应用到各种不同领域。


5. Python简单易学


Python的设计理念是“优雅”“明确”“简单”,提倡“用一种方法,最好是只有一种方法来做一件事”,所以,Python语言语法简洁、代码易读。在国外一些知名大学,开始采用Python作为程序设计课程的编程语言。例如,卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论均使用Python语言讲授。


Python不强调数据类型,变量在使用之前无须定义其数据类型,同一个变量可存储不同类型的数据。

提示:可以在交互方式下执行import this命令,查看Python开发人员的设计理念,如图1-2所示。

016-02

图1-2 Python开发人员的设计理念

1.1.5 Python的版本


Python发展到现在,经历了多个版本,如表1-1所示。

表1-1 Python版本历史

016-03

提示:截至本书成稿时,Python最新为3.5.1版本。需要注意的是Python 3.x不再兼容现有的2.x程序。可根据实际需要选择使用的版本,当然,选择较新的版本有利于以后软件升级。

作为一个开源软件,Python拥有一个参与者众多的开发社区,它保持Python的不断更新和改进。Python的开发者通过一个在线的源代码控制系统协同工作,所有对Python的修改必须遵循PEP(Python Enhancement Proposals)协议,并通过Python扩展回归测试系统的测试。目前,由一个非正式的组织PSF(Python Software Foundation,Python软件基金)负责组织会议并处理Python的知识产权问题。


1.1.6 Python 3.x与2.x的区别


Python 3.x与2.x的主要区别如下。


1. Python 3.x默认使用UTF-8编码


Python 3.x源代码中的字符默认使用UTF-8编码,可以很好地支持中文或其他非英文字符。例如,在Python 3.x中可使用汉字作为变量名。

>>>长度=100

>>> print(长度)

100

在Python 2.x中不能使用汉字作为变量名,否则会出错。例如:

>>>速度=100

File \"<stdin>\", line 1

速度=100

^

SyntaxError: invalid syntax

2. print()函数代替了print语句


在Python 3.x中,调用print()函数来输出数据。例如:

>>> x=100

>>> print(10,\'abc\',x)

10 abc 100

在Python 2.x中则使用print语句。例如:

>>> x=100

>>> print 10,\'abc\',x

10 abc 100

>>> print(10,\'abc\',x) #这里print语句将(10,\'abc\',x)作为一个元组输出

(10, \'abc\', 100)

3. 完全面向对象


在Python 2.x中的各种数据类型,在3.x中全面升级为类(class)。例如,在Python 2.x中输出数据类型结果如下。

>>> int,float,str

(<type \'int\'>, <type \'float\'>, <type \'str\'>)

在Python 3.x中输出数据类型结果如下。

>>> int,float,str

(<class \'int\'>, <class \'float\'>, <class \'str\'>)

4. 用视图和迭代器代替了列表


下面的常用方法或函数在Python 2.x中返回列表,在3.x中有很多改变。


• 在3.x中,字典的keys()、items()和values()方法用返回视图代替了列表,不再支持2.x中的iterkeys()、iteritems()和itervalues()。


• 在3.x中,map()、filter()和zip()函数用返回迭代器代替了列表。


5. 比较运算中的改变


比较运算的主要改变如下。


• 用!=代替了<>。


• 比较运算<、<=、>=和>在无法比较两个数据大小顺序时,会产生TypeError异常。


• 在Python 2.x中,1 < \'\'、0 > None、len <= len等运算返回False,而在3.x中则产生TypeError异常。


• 在==和!=中,不兼容类型的数据视为不相等。


6. 整数类型的改变


整数类型的主要改变如下。


• 取消了long类型,整数类型只有int一种。不再支持用后缀l或L表示长整数。


• 在Python 3.x中,/(除法)运算返回浮点数(float类型)。2.x中两个整数的/运算返回整数(截断了小数部分)。


• 整数不再限制大小,删除sys模块中的maxint(最大整数)常量。


• 不再支持以数字0开头的八进制常量(如012),而改成用前缀“0o”表示(如0o12)。


7. 字符串的改变


在Python 2.x中,字符串中的字符默认为单字节(8位),字符串的类型可分为str和unicode两种。带前缀“u”或“U”的字符串为unicode类型,其他的字符(包含带前缀“b”“B”“r”或“R”的字符串)为str类型。所有的字符串在输出时会将包含的字符直接输出。例如:

>>> print type(\'\\\\abc\'),type(b\'abc\'),type(r\'\\\\abc\'),type(u\'abc\')

<type \'str\'><type \'str\'><type \'str\'><type \'unicode\'>

>>> print \'\\\\abc\',b\'abc\',r\'\\\\abc\',u\'abc\'

\\abc abc \\\\abc abc

在Python 3.x中,字符默认为unicode字符,即双字节字符。字符串的数据类型分为str和bytes两种。仍可使用字符串前缀“u”或“U”,但会被忽略。


在Python 3.x中,字符串前缀“b”或“B”表示二进制字符串,其类型为bytes。例如:

>>> print(type(\'\\\\abc\'),type(b\'abc\'),type(r\'\\\\abc\'),type(u\'abc\'))

<class \'str\'><class \'bytes\'><class \'str\'><class \'str\'>

>>> print(\'\\\\abc\',b\'abc\',r\'\\\\abc\',u\'abc\')

\\abc b\'abc\' \\\\abc abc

8. 取消了file数据类型


Python 3.x取消了2.x中的file数据类型。使用open()函数打开文件时,返回的是_io.TextIOWrapper类的实例对象。例如:

>>> f=open(\'d:/test.txt\',\'w\')

>>> type(f)

<class \'_io.TextIOWrapper\'>

Python 2.x的open()函数返回的是file类型的对象。例如:

>>> f=open(\'d:/test.txt\',\'w\')

>>> type(f)

<type \'file\'>

9. 异常处理的改变


在Python 3.x中,异常处理的改变主要如下。


• 所有异常都从BaseException继承,并删除了StandardError异常。


• 取消了异常类的序列行为和.message属性。


• 用raise Exception(args)代替raise Exception, args语法。


• 捕获异常的语法改变,引入了as关键字。


在Python 2.x中,用下面的代码捕捉和处理异常。

>>> try:

... raise TypeError,\'类型错误\'

... except TypeError,err:

... print err.message

...

类型错误

在Python 3.x中,用下面的代码捕捉和处理异常。

>>> try:

... raise TypeError(\'类型错误\')

... except TypeError as err:

... print(err)

...

类型错误

10. 其他主要的语法改变


其他主要的语法改变如下。


• 加入了关键字“as”和“with”。


• 增加了常量“True”“False”和“None”。


• 加入nonlocal语句。使用nonlocal x声明x为函数外部的变量。


• 删除了raw_input(),用input()代替。


• 去除元组参数解包。不能像def(a, (b, c)):pass这样定义函数了。


• 增加了二进制字面量,如 \'0b110110110\'。bin()函数可返回整数的二进制字符串。


• 扩展了可迭代解包。在Python 3.x 里,“a, b, *x = seq”和“*x, a = seq”都是合法的,只要求两点“x”是list。


• 对象和“seq”是可迭代的。


• 面向对象引入了抽象基类。


• 类的迭代器方法next()改名为__next__(),并增加内置函数next(),用以调用迭代器的__next__()方法。


1.2 Python程序的运行方式


不同程序设计语言的程序运行方式可能有所不同。


1.2.1 计算机程序设计语言分类


计算机程序设计语言通常可分为三类:机器语言、汇编语言和高级语言。


1. 机器语言


计算机内部只能识别用0、1表示的二进制代码,计算机能够直接识别和执行的二进制指令的集合称为机器语言。机器语言的

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示