这书由Python小区的高手Kenneth Reitz进行并机构撰写,由小区数十名开发人员团体无私奉献。*的特点取决于,几近详细地小结了在Python程序编写时会采用的各种各样实践活动方法和工作经验,包含诸多流行的应用领域,并对你说怎样提高工作效率、防止踩坑、撰写高品质的编码。
这书涉及到开发工具和布署、撰写合乎Pythonic品位的编码、各应用领域下流行的Python解决方法、教学资源强烈推荐等好几个层面,有充足的深度广度也是适合的深度1。值得一提的是,书中还共享了阅读文章编码的构思、方式和方法,对你说为何那么设计构思……并清楚地展现了新项目构造,有很强的学习培训使用价值。
它如同一名老师,从你踏入Python程序编写开发设计的大门口时起,便详尽地对你说什么应当做,什么不应当做及其为什么呢挑选,怎样做技术性电机选型、分别的优点和缺点……你在零上坡的基本上,便能舒心地、快速土里手实践活动。
这书不但合适新手新手入门,也合适杰出人员做为案头参照。这书是Python客户的1本百度百科式学习指南,由Python小区数十名组员合作无私奉献。全书內容分成三绝大多数。*一部分是有关怎样配备应用Python编写小工具的;其次一部分加强学习正宗Python设计风格的编码案例;最后一部分科学研究Python小区常见的某些编码库。这书合适有必须Python基本的工作人员学习培训,协助你快速从小工修练成权威专家,编写出高品质的编码!
目录
- 前言 /xix
- 第1 部分 起步
- 第1 章 选择一个解释器 / 3
- Python 2 与Python 3 的状况对比 /3
- 建议/3
- 那就选择Python 3 吗 /4
- Python 的不同实现/4
- CPython /5
- Stackless /5
- PyPy/5
- Jython /5
- IronPython /6
- PythonNet /6
- Skulpt /6
- MicroPython /7
- 第2 章 恰当地安装Python / 9
- 在Mac OS X 上安装Python /9
- Setuptools 和pip /11
- virtualenv / 11
- 在Linux 上安装Python /12
- Setuptools 和pip ./12
- 开发工具 /13
- virtualenv /14
- 在Windows 上安装Python /15
- Setuptools 和pip /17
- virtualenv /17
- 商业化Python 二次发行版 /18
- 第3 章 搭建开发环境 / 21
- 文本编辑器 /21
- Sublime Text /22
- Vim/23
- Emacs /25
- TextMate/26
- Atom /26
- Code /26
- IDE/27
- PyCharm/IntelliJ IDEA /28
- Aptana Studio 3/Eclipse LiClipse PyDev /29
- WingIDE/29
- Spyder /30
- NINJA-IDE /30
- Komodo IDE /30
- Eric(Eric Python IDE) /31
- Visual Studio /31
- 增强型交互式工具 /32
- IDLE /32
- IPython /32
- bpython /33
- 环境隔离工具 /33
- 虚拟环境 /33
- pyenv /35
- Autoenv/36
- virtualenvwrapper /36
- Buildout /37
- Conda /38
- Docker /39
- 第2 部分 步入正题
- 第4 章 编写高质量的代码 / 43
- 代码风格 /43
- PEP 8/43
- PEP 20(又名Python 之禅) /44
- 一般性建议 /45
- 约定 /52
- 习语 /55
- 常见陷阱 /58
- 组织好项目的结构 /61
- 模块 /61
- 包 /65
- 面向对象编程 /66
- 装饰器 /67
- 面向对象编程/ 66
- 装饰器/ 67
- 动态类型/ 68
- 可变类型和不可变类型/ 69
- 管理依赖 / 71
- 测试代码 / 72
- 测试的基础知识 / 73
- 举例说明 /76
- 其他流行工具/ 80
- 文档 / 82
- 项目文档 /82
- 项目配套发行文档/ 83
- 文档字符串与块注释 / 84
- 日志 /84
- 在库中使用logging/ 85
- 在应用中使用logging/ 86
- 选择许可证 /88
- 上游许可证/ 88
- 许可证选项 /89
- 软件许可相关的学习资源/ 90
- 第5 章 阅读高质量的代码 / 91
- 共同特征 /92
- HowDoI/ 92
- 阅读单文件脚本/ 93
- 取自HowDoI 的结构示例/ 96
- 取自HowDoI 的风格示例/ 97
- Diamond / 99
- 阅读一个更大的应用程序 / 99
- 取自Diamond 的结构示例/ 105
- 取自Diamond 的风格示例 /109
- Tablib / 111
- 阅读一个小型库 / 112
- 取自Tablib 的结构示例 /115
- 取自Tablib 的风格示例 /123
- Requests /126
- 阅读一个更大的库/ 126
- 取自Requests 的结构示例 /130
- 取自Requests 的风格示例 / 134
- Werkzeug/ 139
- 阅读一个工具包的代码/ 140
- 取自Werkzeug 的风格示例 /148
- 取自Werkzeug 的结构示例 /149
- Flask / 156
- 阅读一个框架的代码 /156
- 取自Flask 的风格示例 / 163
- 取自Flask 的结构示例 / 164
- 第6 章 交付高质量的代码 /169
- 有用的词汇和概念 / 170
- 打包你的代码/ 171
- Conda/ 171
- PyPI /171
- 冻结你的代码 / 174
- PyInstaller /176
- cx_Freeze /178
- py2app /179
- py2exe /180
- bbFreeze /181
- Linux 已构建分发包的打包技术 / 181
- 可执行的ZIP 文件 /183
- 第3 部分 场景化指南
- 第7 章 用户交互/ 187
- Jupyter Notebooks 项目/ 187
- 命令行应用 /188
- 图形化用户界面应用 / 196
- 窗口部件库/ 196
- 游戏开发 /202
- Web 应用/ 203
- Web 框架 微框架/ 203
- Web 模板引擎/ 206
- Web 部署 /212
- 第8 章 代码管理和改进 /215
- 持续集成 / 215
- 系统管理/ 216
- 服务器自动化 /218
- 系统和任务监控/ 222
- 加速 /225
- 与C C FORTRAN 库进行交互/ 235
- 第9 章 软件接口 /239
- Web 客户端库/ 240
- Web API/ 240
- 数据序列化 /245
- 分布式系统 /248
- 网络编程 /248
- 密码技术/ 254
- 第10 章 数据操作/ 261
- 科学应用/ 262
- 文本操作和文本挖掘/ 266
- Python 标准库中的字符串工具 / 266
- 图像操作 / 269
- 第11 章 数据持久化/ 273
- 结构化文件 / 273
- 数据库接口库 /274
- 附录A 补充说明/ 289