编辑推荐

适读人群:《Python编程之美:最佳实践指南》适合有一定Python基础的人员学习,帮助你迅速从小工修炼成专家,编写出高质量的代码!

Python编程之美:最佳实践指南》由Python社区的大神KennethReitz发起并组织编写,由社区数百名开发者集体奉献。特色在于,近乎完整地总结了在Python编程中会用到的各种实践技巧和经验,涵盖众多主流的应用场景,并告诉你如何提高效率、避免踩坑、编写高质量的代码。

Python编程之美:最佳实践指南》涉及开发环境和部署、编写符合Pythonic品味的代码、各应用场景下主流的Python解决方案、学习资源推荐等多个方面,有足够的广度也有合适的深度。不仅如此,书中还分享了阅读代码的思路、方法和技巧,告诉你为什么这么设计……并清晰地呈现了项目结构图,有极强的学习价值。

它就像一位导师,从你步入Python编程开发的大门时起,便详细地告诉你哪些应该做,哪些不应该做以及为什么这样选择,如何做技术选型、各自的优缺点……让你在零起步的基础上,便能安心地、迅速地上手实践。

Python编程之美:最佳实践指南》不仅适合初学者入门,也适合资深人士作为案头参考。

内容简介

Python编程之美:最佳实践指南》是Python用户的一本百科式学习指南,由Python社区数百名成员协作奉献。《Python编程之美:最佳实践指南》内容分为三大部分。第一部分是关于如何配置使用Python编辑工具的;第二部分深入学习地道Python风格的代码范例;第三部分研究Python社区常用的一些代码库。《Python编程之美:最佳实践指南》适合有一定Python基础的人员学习,帮助你迅速从小工修炼成专家,编写出高质量的代码!

作者简介

KennethReitz

Python界的大神、Python软件基金会会员,因众多开源项目而闻名(其中著名的是“Requests:HTTPforHumans”),高颜值的摄影爱好者,电子音乐制作师,健身减肥成功的励志男……曾任Heroku公司Python架构负责人,现任职于DigitalOcean。

TanyaSchlusser

数据决策方向的独立顾问,为学生和企业团队提供的数据科学培训时长已超过1000小时,并照顾患有阿兹海默症的妈妈。

精彩书评

Python编程之美:最佳实践指南》是Python开发者的实操指引,KennethReitz出品,必属精品。

——刘志军公众号“Python之禅”出品人

Python编程之美:最佳实践指南》不仅仅是一本Python教程,更多的是通过一些优秀项目源码,向读者阐释了如何写出更优雅的Python代码……有助于Python学习者完成向Pythonic的转变。

——Crossin公众号“Crossin的编程教室”作者、码课创始人

此书帮助开发者破解了一些常见疑惑,提供了具有实践价值的指南。

——齐伟“跟老齐学Python”系列图书作者

学习一门编程语言,从入门到进阶的一条捷径就是学习前辈专家的开发经验,而这《Python编程之美:最佳实践指南》正是这些专家经验的总结。

——杨学光Django中文社区发起人

这真是一本令人惊叹的好书!它并不是教授Python语言本身的,而是假定你已经有了一定的编程基础。它阐述的是编程相关的知识点:何时、何地、怎样运用Python,如何使用各类Python工具……这使得你可以高效地编写代码、运维程序,并与其他程序优雅的交互。

——读者

Python编程之美:最佳实践指南》是Python开发必备。对于新手来说,它是一份记录社区约定和实践的学习资源,其价值不可估量。

——EricHolscher,ReadtheDocs公司(readthedocs.org)的联合创始人

目录

目录

前言xix

第1部分 起步

第1章 选择一个解释器3

Python2与Python3的状况对比3

建议3

那就选择Python3吗4

Python的不同实现4

CPython5

Stackless5

PyPy5

Jython5

IronPython6

PythonNet6

Skulpt6

MicroPython7

第2章 恰当地安装Python9

在MacOSX上安装Python9

Setuptools和pip11

virtualenv11

在Linux上安装Python12

Setuptools和pip12

开发工具13

virtualenv14

在Windows上安装Python15

Setuptools和pip17

virtualenv17

商业化Python二次发行版18

第3章 搭建开发环境21

文本编辑器21

SublimeText22

Vim23

Emacs25

TextMate26

Atom26

Code26

IDE27

PyCharmIntelliJIDEA28

AptanaStudio3Eclipse+LiClipse+PyDev29

WingIDE29

Spyder30

NINJA-IDE30

KomodoIDE30

Eric(EricPythonIDE)31

VisualStudio31

增强型交互式工具32

IDLE32

IPython32

bpython33

环境隔离工具33

虚拟环境33

pyenv35

Autoenv36

virtualenvwrapper36

Buildout37

Conda38

Docker39

第2部分 步入正题

第4章 编写高质量的代码43

代码风格43

PEP843

PEP20(又名Python之禅)44

一般性建议45

约定52

习语55

常见陷阱58

组织好项目的结构61

模块61

包65

面向对象编程66

装饰器67

动态类型68

可变类型和不可变类型69

管理依赖71

测试代码72

测试的基础知识73

举例说明76

其他流行工具80

文档82

项目文档82

项目配套发行文档83

文档字符串与块注释84

日志84

在库中使用logging85

在应用中使用logging86

选择许可证88

上游许可证88

许可证选项89

软件许可相关的学习资源90

第5章 阅读高质量的代码91

共同特征92

HowDoI92

阅读单文件脚本93

取自HowDoI的结构示例96

取自HowDoI的风格示例97

Diamond99

阅读一个更大的应用程序99

取自Diamond的结构示例105

取自Diamond的风格示例109

Tablib111

阅读一个小型库112

取自Tablib的结构示例115

取自Tablib的风格示例123

Requests126

阅读一个更大的库126

取自Requests的结构示例130

取自Requests的风格示例134

Werkzeug139

阅读一个工具包的代码140

取自Werkzeug的风格示例148

取自Werkzeug的结构示例149

Flask156

阅读一个框架的代码156

取自Flask的风格示例163

取自Flask的结构示例164

第6章 交付高质量的代码169

有用的词汇和概念170

打包你的代码171

Conda171

PyPI171

冻结你的代码174

PyInstaller176

cx_Freeze178

py2app179

py2exe180

bbFreeze181

Linux已构建分发包的打包技术181

可执行的ZIP文件183

第3部分 场景化指南

第7章 用户交互187

JupyterNotebooks项目187

命令行应用188

图形化用户界面应用196

窗口部件库196

游戏开发202

Web应用203

Web框架微框架203

Web模板引擎206

Web部署212

第8章 代码管理和改进215

持续集成215

系统管理216

服务器自动化218

系统和任务监控222

加速225

与CC++FORTRAN库进行交互235

第9章 软件接口239

Web客户端库240

WebAPI240

数据序列化245

分布式系统248

网络编程248

密码技术254

第10章 数据操作261

科学应用262

文本操作和文本挖掘266

Python标准库中的字符串工具266

图像操作269

第11章 数据持久化273

结构化文件273

数据库接口库274

附录A 补充说明289


其他推荐