Python 是一种脚本语言,在各个领域得到了日益广泛的应用。本书全面深入地对 Python 语言进行了讲解。
本书首先讲述了构成 Python 语言的8个关键要素,之后分章节对其进行了详尽的阐述,包括数据类型、控制结构与函数、模块、文件处理、调试、进程与线程、网络、数据库、正则表达式、GUI程序设计等各个方面,并介绍了其他一些相关主题。全书内容以实例讲解为主线,每章后面附有练习题,便于读者更好地理解和掌握所讲述的内容。
本书适合于作为 Python 语言教科书使用,对 Python 程序设计人员也有一定的参考价值。
在应用广泛的各种语言中,Python 或许是最容易学习和最好使用的。Python 代码很容易阅读和编写,并且非常清晰,而没有什么隐秘的。Python 是一种表达能力非常强的语言,这意味着,在设计同样的应用程序时,使用 Python 进行编码所需要的代码量要远少于使用其他语言(比如 C++或 Java)的代码量。
Python 是一种跨平台的语言∶ 一般来说,同样的 Python 程序可以同时在 Windows平台与 UNIX类平台(比如Linux、BSD与 Mac OS X)上运行——只需要将构成 Python程序的单个或多个文件复制到目标机器上,而不需要"构建"或编译(Python 是解释型语言)。当然,Python 程序使用特定平台功能也是可能的,但通常很少需要这样做,因为几乎所有Python 标准库与大多数第三方库都是完全跨平台的,或至少对用户是透明的。
Python 的强大功能之一是带有一个非常完全的标准库,通过该标准库,我们可以方便地实现大量功能,比如,从 Internet下载一个文件、对压缩的存档文件进行解压,或创建一个 Web 服务器,而这些貌似复杂的功能,只需要少数几行 Python 代码就可以实现。除标准库外,还有数以千计的第三方库,其中一些提供了比标准库更强大、更复杂的功能,比如,Twisted 网络库与NumPy 数值型库。其他一些库提供了极专业化的功能,因而没有包含在标准库中,比如,SimPy 模拟包。大多数第三方库都可以通过 Python Package Index,网址为 http∶/pypi.python.org/pypi 进行访问。
虽然本质上是一种面向对象语言,但是实际上 Python 可以用于进行过程型程序设计、面向对象设计,以及某种程度上的函数型程序设计。本书主要展示如何使用 Python进行过程型程序设计与面向对象程序设计,也介绍了 Python 的函数型程序设计功能。
本书的目标是展示如何使用良好的 Python 3 惯用风格编写 Python 程序,在阅读本书之后,你就可以发现,本书是一本非常有用的 Python 3 语言索引。虽然与 Python 2相比,Python 3 所做的改进和改变是渐进的,而非革新,但是在 Python 3中,Python 2中的一些既有做法变得不再合适或不再必要,因此必须介绍和使用 Pvthon 3 中的一些新做法,以便充分利用 Python 3 的功能。毋庸置疑,Python 3 优于Python 2;它构建于Python 2多年的实践基础上,并添加了大量的新功能(还摒弃了Python 2 的一些不良特性)。与 Python 2 相比,使用Python3更富于乐趣,更便利、容易和具有一致性。
本书旨在讲解 Python 语言本身,虽然中间也涉及很多标准 Python 库,但是没有全部介绍。不过这不是问题,因为在阅读本书之后,将具备充分的 Python 知识,读者可以自如地使用任意的标准库或任意第三方库,并可以创建自己的库模块。
本书适用于多种不同类型的读者,包括自学者、程序设计爱好者、学生、科学家、工程师,以及工作中需要进行程序设计的人,当然,也包括计算专业工作者和计算机科学家。要面对这些不同类型的读者,既让已具备丰富知识的读者不厌烦,又让经验不足的读者可以理解,因此,本书假定读者至少具备一定的程序设计经验(任何程序语言)。特别是,本书需要读者了解数据类型(比如数与字符串)、集合数据类型(比如集合与列表)、控制结构(比如 if 与 while 语句)以及函数。此外,有些实例与练习需要读者具备 HTML markup 的相关知识,后面某些更专业化的章节需要读者具备一定领域的知识,比如,数据库那一章需要读者具备基本的 SQL 知识。
在结构上,本书尽可能让读者阅读时最富有效率。在第 1章结束时,读者应该就可以编写短小但有用的 Python 程序。后续的每一章都分别讲述一个新主题,在内容上通常都会比前一章更广、更深。这意味着,如果顺序阅读本书各章,在每一章结束后,都可以停止阅读,并利用该章讲解的知识编写完整的 Python 程序,当然,你也可以继续阅读以便学习更高级、更复杂的技术。出于这一考虑,有些主题在某一章中介绍,在后续的一章或几章中又进行了深入讲解。
讲解一门新的程序设计语言时,有两个关键的问题。第一个问题是∶有时候,需要讲解某个特定概念时,会发现该概念依赖于另外一个概念,而这个概念反过来又直接或间接地依赖于这个"特定概念"。第二个问题是∶在最开始的时候,由于读者对该语言毫无所知,或者只具备极为有限的知识,因此要给出有趣的、有用的实例或练习非常困难。在本书中,我们力图解决这两个问题。对第一个问题,首先要求读者具备一定的程序设计经验,了解基本的概念;对第二个问题,我们在第1章中就讲解了 Python 的"beautiful heart"——Python 的8个关键要素,足以用于编写良好的程序。这种做法也有一个不足的地方∶在前几章中,有些实例在风格上会有一点刻意为之的痕迹,这是因为这些实例中只是使用了到该章为止所讲解的知识,不过这种副作用越到后面的章节越弱,到第 7章结束时,所有实例都使用完全自然的 Python 3 惯用风格编写。
本书所讲述的方法是完全实践型的,我们建议读者尝试书中讲述的每个实例,做好每一个练习,以便获取实际的动手经验。在可能的地方,本书都提供了虽然短小但是完整的程序,这些程序实例展现了真实的应用场景。本书所带实例、练习及其解决方案都可以在 www.qtrac.eu/py3book.html 处获取,并且都已经在 Windows、Linux、 Mac OS X 等操作平台上的 Python 3 环境下进行了测试。
第 1章,提出了Python 的 8个关键要素,这些要素足以用于编写完整的 Python都是便用前面讲迷的8个关键要数构建的。程序。本章描述了一些可用的 Python程序设计环境,给出了两个小实例,这两个实例都是使用前面讲述的 8个关键要素构建的。
第 2 章~第 5章介绍了Python 的过程型程序设计功能,包括基本数据类型与集合数据类型、很多有用的内置函数与控制结构,以及比较简单的文本文件处理功能。第 5章展示了如何创建自定义模块与包,并提供了Python 标准库概览,以便读者对 Python提供的功能有充分的了解,避免重复工作。
第6 章对使用 Python 进行面向对象程序设计进行了全面深入的讲解。由于面向对象程序设计是建立在过程型程序设计基础之上的,因此,此前几章讲述的过程型程序设计相关的知识仍然可以用于面向对象程序设计,比如,利用同样的数据类型、集合数据类型以及控制结构。
第7章主要讲述文件的读、写。对于二进制文件,包括压缩、随机存取;对于文本文件,包括人工分析以及正则表达式的使用。本章也包括了如何读、写XML 文件,包括使用元素树、DOM(文档对象模型)以及 SAX(用于 XML 的简单 API)。
第 8章回顾了前面一些章节中讲述的内容,探讨了数据类型、集合数据类型、控制结构、函数、面向对象程序设计等领域一些更高级的内容。本章还介绍了很多新功能、类以及高级技术,包括函数型程序设计——其中的内容有挑战性,但也很有用。
第9章与其他章节的不同之处在于,它不是介绍新的 Python特性,而是讨论了用于调试、测试和 profiling 程序的技术和库。
余下的几章讲述了其他一些高级主题。第 10 章展示了如何将程序的工作负载分布在多个进程与线程上;第 11 章展示了如何使用 Python 的标准网络支持功能编写客户端/服务器应用程序;第 12 章讲解了数据库程序设计(包括键-值对 DBM文件与SQL数据库);第 13 章讲述了Python 的正则表达式 mini-language,介绍了正则表达式模块;第 14 章讲解使用正则表达式,以及使用两种第三方模块(PyParsing 和 PLY)的解析技术;第 15 章介绍了 GUI(图形用户界面)程序设计。
本书的大部分章都较长,这样是为了将所有相关资料放在一起,以便于查询引用,不过,各章都进一步划分为节、小节,因此,本书仍然是可以按照适合自己的节奏阅读的,比如,每次阅读一节或一个小节。
如果使用的是较新版本的 Mac 或 UNIX 类系统并及时更新,就应该已经安装了 Python 3。要检查是否已经安装,可以在控制台(在 Mac OS X上是 Terminal.app)中输入命令 python V(注意是大写的 V),如果版本为 3.X,就说明系统中已经安装了 Python 3,而不需要自己再安装,如果不是,请继续阅读。
对 Windows 与Mac OS X系统,存在易于使用的图形界面安装包,只需要按照提示就可以一步一步地完成安装过程。安装工具包可以从 www.python.org/download 处获取,该网站为 Windows 系统提供了 3 个独立的安装程序,一般需要下载的是普通的"Windows ×86 MSI Installer",除非确认自己的机器使用的是 AMD64 或 Itanium 处理器,这种情况需要下载处理器特定的安装程序。下载安装程序后,只需要运行并按提示进行操作,就可以安装好 Python 3。
对Linux、BSD以及其他UNTX类系统,安装 Python 的最简单方法是使用该操作系统的软件包管理系统。大多数情况下,Python 安装程序是以几个单独的软件包形式提供的。比如,在 Fedora 中,用于Python 的安装包为 python,用于IDLE(一个简单的开发环境)的安装包为 python-tools。需要注意的是,只有在 Fedora 为更新的版本时(版本 10 或后续版本),这些安装包才是基于 Python 3 的。同样,对基于 Debian的系统,比如 Ubuntu,对应的安装包为 python3 与idle3。
如果没有适合自己操作系统的安装包,就需要从 www.python.org/download 处下载源程序,并从头编译 Python。你可以下载 source tarballs 中的任意一个,并根据其文件格式选择不同的工具进行解压∶如果下载的是 gzipped tarball,则需要使用 tar xvfz Python-3.0.tgz;如果下载的是 bzip2 tarball,则需要使用 tar xvfjPython-3.0.tar.bz2。配置与构建过程是标准的,首先切换到新创建的 Python-3.0 目录,运行./configure(如果需要本地安装,可以使用--prefix 选项),之后运行 make。
安装 Python 3 时,可能出现的一种情况是,在安装结束时弹出提示消息,声称不是所有的模块都已经安装,这通常意味若机.器 上缺少某些必要的库或头文件。这种情况可以通过单独安装相应程序包处理,比如,如果 readline 模块无法构建。可以L使用包管理系统安装相应的开发库,如在基于Fedora 的系统上安装 readline-deyel,在基于 Debian 的系统上安装 readline-dey(遗憾的是,相关包的名字并不总是那么显而易见的)。安装了缺少的包之后,再次运行./configure 与 make。
成功构建之后,可以运行 make test,以便确认是否一切正常——尽管这并非必需,并且可能需要花费一些时间。
【下载地址】
链接:https://pan.baidu.com/s/1Vvuh66P5hEIpkattBQU0eA
提取码:a7ar
相关文章
为了更好地适应新形势,满足读者对大数据分析处理学习的迫切需要,我们推出了《大数据分析 ∶ R基础及应用》一书 ,力求使读者能够从中了解大数据
读完本书后,你将掌握R语言的精华,并能够熟练使用多种工具来解决各种数据科学难题。
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始, 获得初始
通过它,你将学到如何写能处理大量非结构化文本的 Python 程序。你将获得有丰富标注的涵盖语言学各种数据结构的数据集,而且你将学到分析书面
本书可以作为Python编程语言的一本指南或者教程。它主要是为新手而设计,不过对于有经验的程序员来说,它同样有用。
本书以机器学习与计算统计为主题背景,专门讲t述如何挖掘和分析 Web,上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出
为了能让更多的编程小自轻松地入门编程,我把高效学习法结合 Pvthon 中的核心知识,写成了这本书。随意翻上几页,你就会发现这本书和其他编程
本书结构非常简单,其实就是 52 个习题。其中 26 个覆盖了输入输出、变量、以及函数三个课题,另外 26个覆盖了一些比较高级的话题,如条件
本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。本书不仅包括了对大量Python内置对象的剖析,更将大量的
本书是学习Python编程语言的入门书籍。Python是一种很流行的开源编程语言,可以在各种领域中用于编写独立的程序和脚本。Python免费
本书用 Python 语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共 1
本书面向的读者是那些经常使用电子表格软件进行数据处理,但从未写过一行代码的人。前几章会教你设置 Python 运行环境,告诉你计算机是如何看
神经网络是一种模拟人脑的神经网络,以期能够实现类人工智能的机器学习技术。本书揭示神经网络背后的概念,并介绍如何通过Pvthon实现神经网络。
Python 是一种容易学习的强大的编程语言。它包含了高效的高级数据结构,能够用简单而高效的方式进行面向对象编程。Python 优雅的语法和
本书是面向 Python 初学者的学习指南,详细介绍了 Python 编程基础,以及一些高级概念,如面向对象编程。
FlashFXP绿色版网盘下载,附激活教程 1551
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1362
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1440
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1620
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1747
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64