Skip to content

Latest commit

 

History

History
136 lines (78 loc) · 11.2 KB

File metadata and controls

136 lines (78 loc) · 11.2 KB

零、前言

当我开始写这本书的第一版时,我对预期的情况知之甚少。渐渐地,我学会了如何将每一个话题转换成一个故事。我想通过提供有用的、简单的、易于掌握的示例来谈论 Python,但同时,我想把我自己的经验倾注到这些页面中,这些年来我学到的任何东西,我认为对读者来说都是有价值的,值得思考、反思并希望能够吸收。读者可能不同意,并提出了不同的做事方式,但希望是更好的方式。

我希望这本书不仅仅是关于语言,而是关于编程。事实上,编程的艺术包括很多方面,语言只是其中之一。

编程的另一个关键方面是独立性。当你撞到墙,不知道该怎么做才能解决你所面临的问题时,你能够解除自己的阻碍。没有一本书可以教它,所以我想,与其试着教这方面的东西,不如试着用它来训练读者。因此,我把评论、问题和评论散布在整本书中,希望能启发读者。我希望他们能花时间浏览网页或官方文件,深入挖掘,了解更多,发现自己发现事物的乐趣。

最后,我想写一本书,即使在它的介绍,将略有不同。因此,我决定与我的编辑一起,以理论的方式编写第一部分,介绍描述 Python 特性的主题,并让第二部分由各种实际项目组成,向读者展示使用这种语言可以取得多大的成就。

考虑到所有这些目标,我不得不面对最艰巨的挑战:接受我想写的所有内容,并使其符合允许的页数。这是艰难的,我们做出了牺牲。

尽管如此,我的努力还是得到了回报:直到今天,在将近 3 年之后,我仍然不时收到来自读者的可爱消息,他们感谢我,并告诉我像你的书赋予了我这样的东西。对我来说,这是最美丽的赞美。我知道语言可能会改变和传递,但我已经设法与读者分享了我的一些知识,而这些知识将与他们保持联系。

现在,我已经写了这本书的第二版,这一次,我有了更多的空间。所以我决定增加一个关于 IO 的章节,这是非常需要的,我甚至有机会再增加两个章节,一个关于秘密,一个关于并发执行。后者无疑是整本书中最具挑战性的一章,其目的是激励读者达到一个能够轻松消化其中代码并理解其概念的水平。

我保留了所有的原始章节,除了最后一章有点多余。它们都已刷新并更新为 Python 的最新版本,在撰写本文时为 3.7。

当我看这本书时,我看到了一个更加成熟的产品。有更多的章节,内容已经重新组织,以更好地适应叙事,但书的灵魂仍然存在。最主要也是最重要的一点,授权读者,仍然非常完整。

我希望这个版本会比上一个版本更成功,它将帮助读者成为伟大的程序员。我希望帮助他们发展批判性思维,伟大的技能和适应能力随着时间的推移,由于坚实的基础,他们从书中获得。

这本书是给谁的

Python 是美国顶尖计算机科学大学中最流行的入门教学语言,因此,如果您是软件开发新手,或者如果您没有什么经验,希望从正确的角度出发,那么这门语言和这本书就是您所需要的。它惊人的设计和可移植性将帮助您提高工作效率,无论您选择的工作环境如何。

如果您已经使用过 Python 或任何其他语言,那么这本书对您仍然很有用,既可以作为 Python 基础知识的参考,也可以提供在二十年的经验中收集的各种考虑因素和建议。

这本书涵盖的内容

第一章是对 Python的温和介绍,向您介绍了基本的编程概念。它指导您在计算机上安装和运行 Python,并向您介绍它的一些构造。

第 2 章内置数据类型向您介绍 Python 内置数据类型。Python 有一组非常丰富的本机数据类型,本章将为您提供每种类型的描述和简短示例。

第 3 章迭代和决策教您如何通过检查条件、应用逻辑和执行循环来控制代码流。

第 4 章函数,代码的构建块,教你如何编写函数。函数是重用代码、缩短调试时间以及编写更好代码的关键。

第 5 章节省时间和内存向您介绍 Python 编程的功能方面。本章将教您如何编写理解和生成器,它们是可以用来加速代码和节省内存的强大工具。

第 6 章OOP、装饰器和迭代器向您介绍了使用 Python 进行面向对象编程的基础知识。它向您展示了这个范例的关键概念和所有潜力。它还向您展示了 Python 最受欢迎的特性之一:装饰器。最后,还介绍了迭代器的概念。

第 7 章文件和数据持久性教您如何处理文件、流、数据交换格式和数据库等。

第 8 章测试、评测和异常处理教您如何使用测试和评测等技术使代码更加健壮、快速和稳定。它还正式定义了例外的概念。

第 9 章密码和令牌涉及安全、哈希、加密和令牌的概念,这些概念是目前日常编程的一部分。

第 10 章并发执行是一个富有挑战性的章节,描述了如何同时做很多事情。它介绍了本主题的理论方面,然后介绍了使用不同技术开发的三个不错的练习,从而使读者能够理解所介绍的范例之间的差异。

第 11 章调试和故障排除向您展示了调试代码的主要方法以及如何应用它们的一些示例。

第 12 章GUI 和脚本从两个不同的角度指导您通过一个示例。它们处于两个极端:一个实现是脚本,另一个是合适的图形用户界面应用程序。

第 13 章数据科学介绍了一些关键概念和一个非常特殊的工具,Jupyter 笔记本。

第 14 章Web 开发介绍了 Web 开发的基本原理,并使用 Django Web 框架交付了一个项目。该示例将基于正则表达式。

充分利用这本书

我们鼓励您遵循本书中的示例。为此,您需要一台计算机、一个 internet 连接和一个浏览器。这本书是用 Python3.7 编写的,但在大多数情况下,它也适用于任何最新的 Python3.*版本。我已经给出了如何在操作系统上安装 Python 的指南。执行此操作的过程一直在变化,因此您需要参考 Web 上最新的指南以查找精确的设置说明。我还解释了如何安装各种示例中使用的所有额外库,并提供了在安装过程中如果读者发现任何问题的建议。输入代码不需要特定的编辑器;然而,我建议那些有兴趣跟随这些例子的人应该考虑采用适当的编码环境。我在第一章就此事提出了建议。

下载示例代码文件

您可以从您的账户www.packtpub.com下载本书的示例代码文件。如果您在其他地方购买了本书,您可以访问www.packtpub.com/support并注册,将文件通过电子邮件直接发送给您。

您可以通过以下步骤下载代码文件:

  1. 登录或注册www.packtpub.com
  2. 选择“支持”选项卡。
  3. 点击代码下载和勘误表。
  4. 在搜索框中输入图书名称,然后按照屏幕上的说明进行操作。

下载文件后,请确保使用以下最新版本解压或解压缩文件夹:

  • WinRAR/7-Zip for Windows
  • 适用于 Mac 的 Zipeg/iZip/UnRarX
  • 适用于 Linux 的 7-Zip/PeaZip

该书的代码包也托管在 GitHub 上的https://github.com/PacktPublishing/Learn-Python-Programming-Second-Edition 。如果代码有更新,它将在现有 GitHub 存储库中更新。

我们的丰富书籍和视频目录中还有其他代码包,请访问**https://github.com/PacktPublishing/** 。看看他们!

使用的惯例

本书中使用了许多文本约定。

CodeInText:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄。下面是一个示例:“在learn.pp文件夹中,我们将创建一个名为learnpp的虚拟环境。”

代码块设置如下:

# we define a function, called local
def local():
    m = 7
    print(m)

当我们希望提请您注意代码块的特定部分时,相关行或项目以粗体显示:

# key.points.mutable.assignment.py
x = [1, 2, 3]
def func(x):
    x[1] = 42  # this changes the caller!
    x = 'something else'  # this points x to a new string object

任何命令行输入或输出的编写方式如下:

>>> import sys
>>> print(sys.version)

粗体:表示一个新术语、一个重要单词或您在屏幕上看到的单词。例如,菜单或对话框中的单词出现在文本中,如下所示。下面是一个示例:“要在 Windows 中打开控制台,请转到“开始”菜单,选择“运行”,然后键入cmd

Warnings or important notes appear like this. Tips and tricks appear like this.

联系

我们欢迎读者的反馈。

一般反馈:发送电子邮件feedback@packtpub.com并在邮件主题中提及书名。如果您对本书的任何方面有疑问,请发送电子邮件至questions@packtpub.com

勘误表:尽管我们已尽一切努力确保内容的准确性,但还是会出现错误。如果您在本书中发现错误,如果您能向我们报告,我们将不胜感激。请访问www.packtpub.com/submit-errata,选择您的书籍,点击 errata 提交表单链接,然后输入详细信息。

盗版:如果您在互联网上发现我们作品的任何形式的非法复制品,请您提供我们的位置地址或网站名称,我们将不胜感激。请通过copyright@packtpub.com与我们联系,并提供该材料的链接。

如果您有兴趣成为一名作家:如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请访问authors.packtpub.com

评论

请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?然后,潜在读者可以看到并使用您的无偏见意见做出购买决定,我们 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们书籍的反馈。非常感谢。

有关 Packt 的更多信息,请访问packtpub.com