编辑推荐
适读人群:《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