logo资料库

Python最佳实践指南(彩色阅读版).pdf

第1页 / 共121页
第2页 / 共121页
第3页 / 共121页
第4页 / 共121页
第5页 / 共121页
第6页 / 共121页
第7页 / 共121页
第8页 / 共121页
资料共121页,剩余部分请下载后查看
Python入门
正确地安装 Python
在 Mac OS X 上安装 Python 3
在 Windows 上安装Python 3
在 Linux上安装Python 3
在 Mac OS X 上安装 Python 2
在 Windows 上安装Python 2
在 Linux上安装Python 2
Pipenv & 虚拟环境
Python 开发环境
您的开发环境
Pip和 Virtualenv的更多配置
写出优雅的Python代码
代码风格
阅读好的代码
文档
测试您的代码
日志(Logging )
常见陷阱
选择一个许可
Python应用的场景指南
网络应用
Web 应用 & 框架
HTML 抓取
命令行应用
系统管理
持续集成
速度
科学应用
图像处理
数据序列化
XML解析
JSON
密码学
机器学习
与 C/C++库交互
部署优雅的Python代码
打包您的代码
冻结(freezing )您的代码
额外关注
介绍
社区
学习Python
文档
新闻
贡献
许可证
风格指南指引
The Hitchhiker's Guide to Python Python最佳实践指南! 您好,地球人!欢迎来到Python最佳实践指南。 这是一份活着的、会呼吸的指南。 如果您有意一起贡献, 在GitHub fork 我! 这份人工编写的指南旨在为Python初学者和专家提供一个关于Python安装、配置、和日常使用的最佳实践手册。 这份指南是 主观的 ,它与Python官方文档几乎,但不是完全 不同 。您在这不会找到每个Python web框架的列表。相 反,您会发现一份优秀的简明列表,包含有强烈推荐的选项。 注解: 使用 Python 3 是 高度 优先于 Python 2。如果您发现自己 仍然 在生产环境中使用 Python 2,请考虑升级您 的应用程序和基础设施。如果您正在使用 Python 3,恭喜您 —— 您确实有很好的品味。 ——Kenneth Reitz 让我们开始吧!但首先,让我们确保您拥有这次旅行需要的”浴巾”。(译者注:towel 浴巾的梗引自著名科幻小说《银 河系漫游指南》,大概是说先准备好不起眼但很重要的东西。) Python入门 Python新手?让我们正确地设置您的Python环境: 选择一个 Python 解释器(3 vs. 2) Python的现状 (2 vs 3) 当选择Python解释器的时候,一个首先要面对的问题是:“我应该选择Python 2还是Python 3?” 答案并不像人们想象 1
The Hitchhiker's Guide to Python 的那么明显。 现状的基本要点如下: 1. 2. 3. 4. 如今大部分生产应用使用 Python 2.7。 Python 3 已准备好用于生产应用的部署。 Python 2.7 直到 2020 前只会得到必要的安全更新 [1]。 “Python” 涵盖了 Python 3 和 Python 2。 建议 注解: 使用 Python 3 是 高度 优先于 Python 2。如果您发现自己 仍然 在生产环境中使用 Python 2,请考虑升级您 的应用程序和基础设施。如果您正在使用 Python 3,恭喜您 —— 您确实有很好的品味。 —Kenneth Reitz 那我直言不讳: 将 Python 3 用于新的 Python 应用程序。 如果您是第一次学习 Python,熟悉 Python 2.7 将是非常有用的,但学习 Python 3 更有用。 两者都学。它们都是 “Python”。 已经构建的软件通常依赖于 Python 2.7。 如果您正在编写一个新的开源 Python 库,最好同时为 Python 2 和 3 编写。若新库只支持 Python 3 会是一项政治 声明,并将疏远您的许多用户。这不是一个问题 —— 慢慢地,在未来三年内,这种情况会减少。 所以.... 3? 如果您想选择一种Python的解释器,您又不是固执己见的人,我推荐您用最新的Python 3.x,因为每个版本都带来了 新的改进了的标准库模块、安全性以及bug修复。进步就是进步。 鉴于此,如果您有一个强有力的理由只用Python 2,比如Python 3 没有足够能替代的Python 2 的特有库,或者您(像 我)非常喜而且受Python 2启发。 查看 Can I Use Python 3? 来看看是否有您依赖的软件阻止您用Python 3。 延伸阅读 写 能够同时兼容Python 2.6,2.7,和Python 3的代码 是可能的。这包括从简单到困难的各种难度,取决于您所写软件 的类型;如果您是初学者,其实有更重要的东西要操心。请注意,Python 2.6 是生命周期结束的上游,所以您不应该 试着编写兼容2.6的代码,除非您被专门安排做这件事。 实现 当人们谈论起 Python,他们不仅是在说语言本身,还包括其CPython实现。 Python 实际上是一个可以用许多不同的 方式来实现的语言规范。 CPython CPython 是Python的参考实现,用C编写。它把Python代码编译成中间态的字节码,然后由虚拟机解释。CPython为 Python包和C扩展模块提供了最大限度的兼容。 如果您正在写开源的Python代码,并希望有尽可能广泛的用户,用CPython是最好的。使用依赖C扩展的包,CPython 是您唯一的选择。 所有版本的Python语言都用C实现,因为CPython是参考实现。 PyPy PyPy 是用RPython实现的解释器。RPython是Python的子集,具有静态类型。这个解释器的特点是即时编译,支持多 重后端(C, CLI, JVM)。 2
The Hitchhiker's Guide to Python PyPy旨在提高性能,同时保持最大兼容性(参考CPython的实现)。 如果您正在寻找提高您的Python代码性能的方法,值得试一试PyPy。在一套的基准测试下,它目前比CPython的速度 快超过5倍 。 PyPy支持Python 2.7。PyPy3 [2],发布的Beta版,支持Python 3。 Jython Jython 是一个将Python代码编译成Java字节码的实现,运行在JVM (Java Virtual Machine) 上。另外,它可以像是用 Python模块一样,导入并使用任何Java类。 如果您需要与现有的Java代码库对接或者基于其他原因需要为JVM编写Python代码,那么 Jython是最好的选择。 Jython现在支持到Python 2.7 [3]。 IronPython IronPython 是一个针对 .NET 框架的Python实现。它可以用Python和.NET framework的库,也能将Python代码暴露 给给.NET框架中的其他语言。 Python Tools for Visual Studio 直接集成了 IronPython到Visual Studio开发环境中,使之成为Windows开发者的理想 选择。 IronPython支持Python 2.7 [4]。 PythonNet Python for .NET 是一个近乎无缝集成的,提供给本机已安装的Python .NET公共语言运行时(CLR)包。它采取与 IronPython (见上文)相反的方法,与其说是竞争,不如说是互补。 PythonNet与Mono相结合使用,通过.NET框架,能使Python在非windows系统上(如OS X和Linux)完成操作。它可 以在除外IronPython的环境中无冲突运行。 PythonNet支持Python 2.3到2.7 [5]。 [1] https://www.python.org/dev/peps/pep-0373/#id2 [2] http://pypy.org/compat.html [3] https://hg.python.org/jython/file/412a8f9445f7/NEWS [4] http://ironpython.codeplex.com/releases/view/81726 [5] http://pythonnet.github.io/readme.html 正确地在您的系统上安装 Python 正确地安装 Python 3
The Hitchhiker's Guide to Python 通常来说,您所使用的操作系统自带安装好的Python。 如此可以省却自己安装、配置 Python 的过程。话虽如此,我还是强烈建议各位,在正式开始 Python 应用开发前,安 装接下来教程中所介绍的工具和库。特别要提到如 setuptools, pip和 virtualenv这样的工具——它们将简化安装和使用 Python第三方库的流程。 注解: 使用 Python 3 的优先级高于Python2。如果您发现自己 仍然 在生产环境中使用 Python 2,请考虑升级您的 应用程序和基础设施。如果您正在使用 Python 3,恭喜您 —— 您确实有很好的品味。 —Kenneth Reitz 安装指南 这份指南重温了 Python 作为开发工具的正确安装方法,也包括 setuptools, pip 和 virtualenv 等工具的安装。 Python 3 安装指南 MacOS 上的 Python 3. Microsoft Windows 上的 Python 3. Linux 上的 Python 3. 传统 Python 2 安装指南 MacOS 上的 Python 2. Microsoft Windows 上的 Python 2. Linux 上的 Python 2. 在Mac OS X上安装Python 3 4
The Hitchhiker's Guide to Python 最新版本的Mac OS X,High Sierra, 自带Python 2.7。 您不必安装和配置即可直接使用Python 2。本教程用来说明Python 3的安装。 OS X自带的Python版本更适合用于学习而不是开发。因为版本与Python官网发布的 官方最新稳定版本 相比可能已经 过时。 现在就开始吧! 跟着我一起安装真实版本的Python吧。 在正式安装之前,应先安装C编译器。最快的方式是运行 xcode-select --install 来安装Xcode命令行工具。您也可 以从Mac应用商店下载完全版的 XCode,或者更轻巧的 OSX-GCC-Installer 。 注解: 如果已经安装了XCode,请不要再安装 OSX-GCC-Installer。两者结合可能会引发难以诊断的问题。 注解: 执行XCode的全新安装完成后,须在终端执行下述命令 xcode-select --install 来安装命令行工具。 尽管OS X系统附带了大量UNIX工具,熟悉Linux系统的人员使用时会发现缺少一个重要的组件——合适的包管理工 具, Homebrew 正好填补了这个空缺。 安装 Homebrew 只需打开 终端 或个人常用的终端模拟器并运行: $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 运行这段脚本将列出它会引起的改变,并在安装开始前提示您。安装完成Homebrew后,需将其所在路径插入到 PATH 环境变量的最前面,即在您所登录用户的 ~/.profile 文件末尾加上这一行: export PATH=/usr/local/bin:/usr/local/sbin:$PATH 5
The Hitchhiker's Guide to Python 接下来可以开始安装Python 3: $ brew install python 这将持续几分钟。 Pip Homebrew 会为您安装 pip3 。 pip3 是Homebrew版Python 3的 pip 的别名。 使用Python 3 这个时候,在您系统上可能Python 2.7也是可用的。可能 Homebrew 版本的Python 2 和Python 3都安装了。 $ python 将打开通过HomeBrew安装的Python解释器。 $ python2 将会打开使用Homebrew安装的Python 2解释器(如果有)。 $ python3 将会打开使用Homebrew安装的Python 3解释器(如果有)。 如果Homebrew版的Python 2安装了,pip2 指向Python 2。如果Homebrew版的Python 3安装了,pip 指向Python 3。 本指南的其余部分假定 python 指 Python 3。 # 我安装Python 3了吗? $ python --version Python 3.6.4 # Success! # If you still see 2.7 ensure in PATH /usr/local/bin/ takes pecedence over /usr/bin/ Pipenv & 虚拟环境 下一步安装 Pipenv,然后就可以安装依赖关系并管理虚拟环境。 虚拟环境工具通过为不同项目创建专属的 Python 虚拟环境,以实现其依赖的库独立保存在不同的路径。这解决了“项 目X依赖于 1.x 版本,但项目 Y 需要 4.x”的难题,并且维持全局的 site-packages 目录干净、易管理。 举个例子,通过这个工具可以实现依赖 Django 1.10 的项目与依赖 Django 1.8 的项目共存。 所以,向前!进入到 Pipenv & 虚拟环境 文档中! 该页是 另一份指南 的混合版本,可通过同一份许可获取。 在Windows上安装Python 3 6
The Hitchhiker's Guide to Python 首先,遵照 Chocolatey 的安装指引。它是 Windows 7+ 的社区系统包管理器(很像Mac OSX上的Homebrew)。 完成之后,安装Python 3会非常简单,因为Chocolatey将Python 3作为默认设置。 choco install python 一旦您运行了上述命令,您应该能够直接从控制台启动Python。(Chocolatey非常棒,会自动将Python添加到您的系 统路径中。) Setuptools + Pip setuptools 和 pip 是两个最重要的第三方Python包。 安装完成后,您可以使用单个命令下载、安装和卸载任何兼容的Python应用包。还可以轻松地这种网络安装的方式加 入到自己开发的Python应用中。 所有受支持的Python 3版本都包含pip,因此请确保它是最新的: python -m pip install -U pip Pipenv & 虚拟环境 下一步安装 Pipenv,然后就可以安装依赖关系并管理虚拟环境。 虚拟环境工具通过为不同项目创建专属的 Python 虚拟环境,以实现其依赖的库独立保存在不同的路径。这解决了“项 目X依赖于 1.x 版本,但项目 Y 需要 4.x”的难题,并且维持全局的 site-packages 目录干净、易管理。 举个例子,通过这个工具可以实现依赖 Django 2.0 的项目与依赖 Django 1.8 的项目共存。 所以,向前!进入到 Pipenv & 虚拟环境 文档中! 该页是 另一份指南 的混合版本,可通过同一份许可获取。 7
The Hitchhiker's Guide to Python 在Linux上安装Python 3 这份文档描述了如何在Ubuntu Linux机器上安装Python 3.6。 想要获取已安装的Python 3版本号,可以通过终端运行命令: $ python3 --version 如果您使用的是Ubuntu 16.10或更新,可以通过以下命令简单地安装Python 3.6: $ sudo apt-get update $ sudo apt-get install python3.6 如果您使用的是其他版本的Ubuntu(比如LTS发行版),我们推荐使用 deadsnakes PPA 来安装 Python 3.6: $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo apt-get update $ sudo apt-get install python3.6 如果您使用的是其他Linux发行版,有可能已经预装了Python 3。如果没有,使用发行版的包管理器。比如,在Fedora 上您可以使用 dnf: $ sudo dnf install python3 注意,如果 python3 包的版本不够新,还有其他方式安装更新的版本,这取决于所在的发行版。比如在Fedora 25上安 装 python36 包来获取Python 3.6。如果您是Fedora用户,您可能想阅读 Fedora中可用的多Python版本 。 使用Python 3 这个时候,在您系统上可能Python 2.7也是可用的。 $ python 8
分享到:
收藏