提取码:gdm4
image内容简介 · · · · · ·
通过实际项目增强你的Python技能
通过理论和实践的结合以及实际可操作的指导,本书将为你呈现真实世界中的Python编程。书中的实际教程聚焦于功能,覆盖了基本的创建应用、构建和封装库。同时在有经验的Python教员一直为你提供有价值的见解的帮助下,你可以超越教程并开始创建项目。读者应该熟悉核心Python语言的基础语法,并准备增强自己的技能,这样才能在这门顶级编程语言的实际应用中成为专家。
主要内容
◆ 学习Python如何在真实世界中完成日常任务并提高业务效率
◆ 了解库的工作原理、在何处获取和使用它们
◆ 使用Virtualenv、Pip和更多工具建立开发环境
◆ 创建、封装并与Python社区中的其他用户分享库
◆ 使用分层次的方法创建项目,并使用库在每次迭代中添加功能
◆ 在真实世界的中级项目中使用Python,以便获得在更大开源项目中使用它的信心
作者简介 · · · · · ·
Laura Cassell是PyLadies Atlanta的开创者。她在Big Nerd Ranch教授Python和JavaScript。她现在是New Relic公司Python组的一位工程师主管。
Alan Gauld是电信和客户服务行业的一位企业架构设计师。从1998年他就开始使用Python。他是python-tutor邮件列表中的版主和积极参与者。
目录 · · · · · ·
目 录
第1章 Python核心知识回顾 1
1.1 探索Python语言和解释器 1
1.2 回顾Python数据类型 3
1.2.1 数值类型:整数和浮点数 4
1.2.2 布尔类型 5
1.2.3 None类型 6
1.2.4 容器类型 6
1.2.5 字符串 7
1.2.6 字节和字节数组 9
1.2.7 元组 10
1.2.8 列表 11
1.2.9 字典 12
1.2.10 集 13
1.3 使用Python控制结构 15
1.3.1 结构化你的程序 15
1.3.2 使用序列、块和注释 16
1.3.3 选择一个执行路径 17
1.3.4 迭代 18
1.3.5 异常处理 20
1.3.6 上下文管理 21
1.4 在Python中读取和输出数据 21
1.4.1 与用户交互 21
1.4.2 使用文本文件 23
1.5 扩展Python 24
1.5.1 定义并使用函数 24
1.5.2 定义并使用类和对象 28
1.6 创建和使用模块和包 32
1.6.1 使用和创建模块 33
1.6.2 使用和创建包 34
1.7 创建示例包 35
1.8 使用第三方包 42
1.9 本章小结 43
第2章 Python脚本 47
2.1 访问操作系统 48
2.1.1 获得关于用户和他们的电脑的信息 49
2.1.2 获得当前进程信息 52
2.1.3 管理其他程序 54
2.1.4 更加高效地管理子进程 57
2.1.5 获取文件(和设备)的信息 60
2.1.6 浏览和操纵文件系统 62
2.1.7 探索目录树深度 68
2.2 使用日期和时间 71
2.2.1 使用time模块 71
2.2.2 datetime模块介绍 74
2.2.3 calendar模块介绍 75
2.3 处理常见的文件格式 76
2.3.1 使用逗号分隔的数值 76
2.3.2 使用Config文件 82
2.3.3 操作XML和HTML文件 85
2.4 使用ctypes和pywin32访问原生API 93
2.4.1 访问操作系统库 94
2.4.2 使用COM访问Windows应用 96
2.5 涉及多应用的自动化任务 97
2.5.1 使用Python 98
2.5.2 使用操作系统工具 98
2.5.3 使用数据文件 98
2.5.4 使用第三方模块 98
2.5.5 通过命令行接口与子进程交互 99
2.5.6 为基于服务器的应用使用Web服务 99
2.5.7 使用一个原生代码API 99
2.5.8 使用GUI机器人学 99
2.6 本章小结 100
第3章 管理数据 103
3.1 使用Python存储数据 104
3.1.1 使用DBM作为持久化字典 104
3.1.2 使用Pickle存取对象 109
3.1.3 使用shelve访问对象 111
3.2 使用Python分析数据 116
3.2.1 使用Python的内置特性分析数据 116
3.2.2 使用itertools分析数据 119
3.2.3 使用itertools分析LendyDB数据 124
3.3 使用SQL管理数据 126
3.3.1 关系型数据库的概念 126
3.3.2 结构化查询语言 127
3.3.3 跨表链接数据 134
3.3.4 多对多关系 140
3.4 从LendyDB迁移到SQL
数据库 143
3.4.1 从Python访问SQL 143
3.4.2 创建LendyDB SQL数据库 145
3.4.3 插入测试数据 146
3.4.4 创建一个LendyDB API 148
3.5 探索其他数据管理选择 154
3.5.1 主从数据库 154
3.5.2 NoSQL 155
3.5.3 云计算 155
3.5.4 使用RPy进行数据分析 156
3.6 本章小结 157
第4章 创建桌面应用 161
4.1 组织应用程序 162
4.2 创建命令行界面 163
4.2.1 创建数据层 163
4.2.2 创建核心逻辑层 165
4.2.3 创建用户界面 169
4.3 使用cmd模块创建命令行界面 173
4.4 读取命令行参数 175
4.5 用一些对话框让命令行界面变得生动 176
4.6 使用Tkinter编程GUI 180
4.7 创建简单的GUI 183
4.8 创建Tic-Tac-Toe GUI 186
4.8.1 勾勒一个UI设计 186
4.8.2 创建菜单 187
4.8.3 创建Tic-Tac-Toe面板 188
4.8.4 将GUI连接到游戏 189
4.9 扩展Tkinter 194
4.9.1 使用tix 194
4.9.2 使用ttk 198
4.10 再次回顾借出库 199
4.11 探索其他Python GUI工具包 207
4.11.1 wxPython 207
4.11.2 PyQt 208
4.11.3 PyGTK 209
4.11.4 原生GUI:Cocoa和PyWin32 209
4.11.5 Dabo 210
4.12 存储本地数据 210
4.12.1 存储特定于应用的数据 211
4.12.2 存储用户选择偏好 211
4.12.3 存储应用状态 212
4.12.4 记录错误信息 212
4.13 理解本地化 214
4.13.1 使用区域设置 214
4.13.2 在Python中使用Unicode 216
4.13.3 使用gettext 218
4.14 本章小结 220
第5章 Python在Web中的应用 223
5.1 Python在Web中的应用 224
5.1.1 Web应用的组成部分 225
5.1.2 客户端-服务器关系 226
5.1.3 中间件和MVC 226
5.1.4 HTTP方法和头信息 227
5.1.5 什么是API 230
5.2 使用Python进行Web编程 234
5.3 有关Python和Web的更多知识 247
5.3.1 静态网站生成器 247
5.3.2 Web框架 247
5.4 使用Python跨网工作 248
5.4.1 XML-RPC 248
5.4.2 套接字服务器 249
5.5 更多Python网络编程的乐趣 252
5.6 本章小结 253
第6章 Python在更大项目中的应用 255
6.1 使用doctest模块测试 256
6.2 使用unittest模块测试 261
6.3 Python中的测试驱动开发 265
6.4 调试Python代码 266
6.5 工作在更大的Python项目中 275
6.6 发布Python包 279
6.7 本章小结 281
第7章 探索Python前沿技术 283
7.1 使用Python绘图 283
7.1.1 使用turtle graphics 284
7.1.2 使用GUI Canvas对象 284
7.1.3 绘制数据 284
7.1.4 使用imghdr 285
7.1.5 Pillow简介 285
7.1.6 试试ImageMagick 285
7.2 使用Python辅助科学 286
7.2.1 SciPy简介 286
7.2.2 使用Python辅助生物科学 287
7.2.3 使用GIS 287
7.2.4 处理语言 287
7.2.5 综述 288
7.3 使用Python开发游戏 288
7.3.1 增强PyGame经验 288
7.3.2 探索其他选项 289
7.4 进入电影领域 289
7.5 与其他语言集成 290
7.5.1 Jython 291
7.5.2 IronPython 291
7.5.3 Cython 292
7.5.4 Tcl/Tk 292
7.6 进入物理领域 293
7.6.1 serial选项介绍 293
7.6.2 RaspberryPi编程 294
7.6.3 与Arduino对话 294
7.6.4 探索其他选项 294
7.7 创建Python 295
7.7.1 修复bug 295
7.7.2 文档化 295
7.7.3 测试 295
7.7.4 添加特性 296
7.7.5 参加会议 296
7.8 本章小结 296
附录A 练习答案 299
附录B Python标准模块 315
附录C 可用Python资源 323
网友评论