介绍

欢迎使用python 101!我写这本书是为了帮助你学习Python3。它不是一本详尽的参考书。相反,对象是让您熟悉Python的构建块,这样您就可以自己编写一些有用的东西。很多编程教科书只教你语言,但不会超过这一点。我将努力使您不仅掌握最基本的知识,而且向您展示如何创建有用的程序。现在你可能想知道为什么仅仅学习基础知识是不够的。根据我的经验,当我读完一篇介绍性的文章后,我想再创作一些东西,但我不知道怎么做!我有学习,但不是从A点到B点的粘合剂。我认为重要的是,不仅要教你基础知识,而且要涵盖中间材料。

因此,本书将分为五部分:

  • 第一部分将介绍Python的基础知识

  • 第二部分将在Python标准库的一个子集上

  • 第三部分是中间材料

  • 第四部分将是一系列小型教程

  • 第五部分将介绍python的打包和分发


让我花点时间解释一下每一部分必须提供什么。在第一部分中,我们将介绍以下内容:

  • python类型(字符串、列表、dict等)

  • 条件语句

  • 循环

  • 列表和字典理解

  • 异常处理

  • 文件I/O

  • 函数和类


第二部分将讨论一些Python的标准库。标准库是用Python预打包的。它由一些模块组成,您可以导入这些模块以获得附加的功能。例如,可以导入 math 获取一些高级数学函数的模块。我将挑选最常用的日常专业模块,并解释它们的工作原理。我认为这是一个好主意的原因是它们很常见,我认为在您的Python教育开始时,每天都有模块可以帮助您了解。本节还将介绍安装第三方模块的各种方法。最后,我将介绍如何创建您自己的模块和包,以及为什么您首先要这样做。以下是我们将要介绍的一些模块:

  • csv

  • ConfigParser

  • 登录中

  • 操作系统

  • smtplib/电子邮件

  • 子过程

  • 系统

  • 线程/队列

  • 时间/日期时间


第三部分将介绍中间的优势和结局。这些主题很容易理解,但不一定需要能够用Python编程。所涉及的主题包括:

  • python调试器(pdb)

  • 装饰工

  • lambda函数

  • 代码剖析

  • 测试简介


第四部分将由一些小的教程组成,这些教程将帮助您学习如何以实际的方式使用Python。通过这种方式,您将学习如何创建实际可以做一些有用的事情的python程序!您可以利用这些教程中的知识来创建自己的脚本。在每个教程的末尾都会提供进一步增强这些迷你应用程序的想法,这样您就可以自己尝试一些东西。以下是我们将要涵盖的一些第三方软件包:

  • PIP和易于安装

  • 配置

  • LXML

  • 请求

  • 虚拟现实

  • 皮林特/皮克

  • SQLAlchemy


第五部分将介绍如何获取您的代码并将其提供给您的朋友、家人和世界!您将学习以下内容:

  • 如何将可重用脚本转换为python“eggs”、“wheels”等等

  • 如何将创建的内容上传到python包索引(pypi)

  • 如何创建二进制可执行文件,以便在不使用python的情况下运行应用程序

  • 如何为应用程序创建安装程序


章节的长度可能不同。虽然每个主题都会被很好地涵盖,但并非每个主题都需要相同的页数。

Python 的简史

我认为了解Python编程语言的背景会有所帮助。 Python 最晚是在 1980s .每个人都同意它的创建者是Guido van Rossum,当时他把它作为自己使用的ABC编程语言的继承者来写。吉多以他最喜欢的喜剧表演之一《 Python 》命名这门语言。该语言直到1991年才发布,并且在包括的模块和包的数量上增长了很多。在撰写本文时,有两个主要的Python版本:2.x系列和3.x(有时称为python 3000)。3.x系列与2.x不向后兼容,因为创建3.x时的想法是消除原始版本中的一些特性。当前版本为2.7.12和3.5.2。3.x中的大多数特性都被反向移植到2.x;但是,3.x正在获得Python当前开发的大部分,因此它是未来的版本。

有些人认为Python只是用来编写小脚本来粘贴“真实”代码,比如C++或Haskell。但是,您会发现Python在几乎任何情况下都很有用。python被许多大公司使用,如google、nasa、linkedin、industrial light&magic等。python不仅用于后端,也用于前端。如果你是计算机科学领域的新手,后端编程就是幕后的东西;比如数据库处理、文档生成等。前端处理是大多数用户熟悉的漂亮东西,比如网页或桌面用户界面。例如,有一些非常好的python gui工具包,比如wxpython、pyside和kivy。还有几个Web框架,如django、pyramid和flask。你可能会惊讶地发现Django用于Instagram和Pinterest。如果您使用了这些或许多其他网站,那么您使用了一些由Python提供支持的东西,而没有意识到它!

关于作者

你可能想知道我是谁,为什么我对python有足够的知识来写它,所以我想我会给你一些关于我自己的信息。2006年春天,我开始在python中编程。我的第一个任务是将Windows登录脚本从kixtart移植到python。我的第二个项目是将vba代码(基本上是Microsoft Office产品之上的一个GUI)移植到python,这是我第一次在wxpython中启动的方式。从那以后,我一直在使用python,做后端编程和桌面前端用户界面的一个变化。

我意识到,对于我来说,记住如何在python中做某些事情的方法之一就是写关于它们的文章,这就是我的python博客的由来:http://www.blog.pythonlibrary.org/。正如我写的,我会收到读者的反馈,最后我扩展了博客,包括提示、教程、python新闻和python图书评论。我经常与packt出版公司合作,作为一名技术审查员,这意味着我可以在出版前检查书籍中的错误。我还为开发人员专区和网站以及Python软件基金会撰写了一些文章。2013年11月,Dzone出版 基本核心python技巧表 我合著的。

习俗

与大多数技术书籍一样,本书包含一些您需要注意的约定。新的主题和术语将在 bold .您还将看到以下示例:

>>> myString = "Welcome to Python!"

这个 >>> 是python提示符号。你会在 Python 中看到这个 口译译员 而在 IDLE .在第一章中,您将进一步了解这些内容。其他代码示例将以类似的方式显示,但没有 >>> .

要求

您将需要一个有效的python 3安装。除非另有特别标记,否则示例应在python 2.x或3.x中工作。大多数Linux和Mac机器都已经安装了python。但是,如果您发现自己没有python,可以从 http://python.org/download/ .他们的网站上有最新的安装说明,所以我不会在这本书中包括任何安装说明。任何附加要求将在本书后面解释。

读者反馈

我欢迎关于我作品的反馈。如果您想让我知道您对这本书的看法,您可以将评论发送到以下地址:

comments@pythonlibrary.org

勘误表

我尽量不把我的文章中的错误发表出来,但它时常发生。如果您在本书中发现错误,请通过以下电子邮件通知我:

errata@pythonlibrary.org