Python高级编程(第2版).pptx

上传人(卖家):晟晟文业 文档编号:4362675 上传时间:2022-12-02 格式:PPTX 页数:78 大小:1.63MB
下载 相关 举报
Python高级编程(第2版).pptx_第1页
第1页 / 共78页
Python高级编程(第2版).pptx_第2页
第2页 / 共78页
Python高级编程(第2版).pptx_第3页
第3页 / 共78页
Python高级编程(第2版).pptx_第4页
第4页 / 共78页
Python高级编程(第2版).pptx_第5页
第5页 / 共78页
点击查看更多>>
资源描述

1、Python高级编程(第2版)译者简介01译者简介1 Python现状021 Python现状1.2 Python升级及其原因1.4 当前Python 3的普及程度1.6 不只是CPython1.1 Python的现状与未来1.3 追踪Python最新变化PEP文档1.5 Python 3和Python 2的主要差异1 Python现状1.7 Python开发的现代方法1.8 应用层Python环境隔离1.9 系统级环境隔离1.12 小结1.11 有用的资源1.10 常用的生产力工具1 Python现状1.5 Python 3和Python 2的主要差异1.5.2 主要的语法差异和常见陷阱1.

2、5.1 为什么要关注这些差异1.5.3 用于保持跨版本兼容性的常用工具和技术1 Python现状1.6 不只是CPython1.6.1 为什么要关注Python实现011.6.2 Stackless Python021.6.3 Jython031.6.4 IronPython041.6.5 PyPy051.8 应用层Python环境隔离1 Python现状CBA1.8.1 为什么要隔离1.8.2 常用解决方案1.8.3 选择哪种工具1 Python现状1.9 系统级环境隔离A1.9.1 使用Vagrant的虚拟开发环境1.9.2 容器化与虚拟化的对比B1 Python现状1.10 常用的生产力

3、工具1.10.1 自定义Python shellIPython、bpython、ptpython等01.1.10.2 交互式调试器02.2 语法最佳实践类级别以下032 语法最佳实践类级别以下2.1 Python的内置类型2.2 高级语法2.3 你可能还不知道的其他语法元素2.4 小结2 语法最佳实践类级别以下2.1 Python的内置类型2.1.1 字符串与字节2.1.2 集合类型2.2 高级语法2 语法最佳实践类级别以下2.2.2 yield语句022.2.4 上下文管理器with语句042.2.1 迭代器012.2.3 装饰器03LOGOM.94275.CN2 语法最佳实践类级别以下2.

4、3 你可能还不知道的其他语法元素2.3.1 for.else.语句2.3.2 函数注解3 语法最佳实践类级别以上043 语法最佳实践类级别以上3.1 子类化内置类型3.2 访问超类中的方法3.5 小结3.4 元编程3.3 高级属性访问模式3 语法最佳实践类级别以上3.2 访问超类中的方法20193.2.1 Python 2中的旧式类与super0120203.2.2 理解Python的方法解析顺序0220213.2.3 使用super易犯的错误0320223.2.4 最佳实践043.3 高级属性访问模式3 语法最佳实践类级别以上3.3.1 描述符3.3.2 property3.3.3 槽3.4

5、 元编程3 语法最佳实践类级别以上3.4.1 装饰器一种元编程方法3.4.2 类装饰器3.4.5 一些关于代码生成的提示3.4.3 使用_new_()方法覆写实例创建过程3.4.4 元类4 选择好的名称054 选择好的名称4.1 PEP 8与命名最佳实践4.2 命名风格4.3 命名指南4.6 模块和包的名称4.5 类的名称4.4 参数的最佳实践4 选择好的名称4.8 小结024.7 有用的工具014 选择好的名称4.1 PEP 8与命名最佳实践AB4.1.2 超越PEP 8团队的风格指南4.1.1 为何要遵守PEP 8以及何时遵守PEP 84.3 命名指南4 选择好的名称4.3.1 用“has

6、”或“is”前缀命名布尔元素4.3.2 用复数形式命名集合变量4.3.3 用显式名称命名字典4.3.4 避免通用名称4 选择好的名称4.4 参数的最佳实践0102034.4.1 通过迭代设计构建参数4.4.2 信任参数和测试4.4.3 小心使用*args和*kwargs魔法参数4.7 有用的工具4 选择好的名称4.7.1 Pylint14.7.2 pep8和flake825 编写一个包065 编写一个包D5.4 独立可执行文件E5.5 小结A5.1 创建一个包B5.2 命名空间包C5.3 上传一个包LOGOM.94275.CN5 编写一个包5.1 创建一个包5.1.1 Python打包工具的混

7、乱状态015.1.2 项目配置5.1.3 自定义setup命令035.1.4 在开发期间使用包5 编写一个包5.2 命名空间包5.2.1 为什么有用5.2.2 PEP 420隐式命名空间包5.2.3 以前Python版本中的命名空间包5 编写一个包5.3 上传一个包A5.3.1 PyPIPython包索引5.3.2 源代码包与构建包B5.4 独立可执行文件5 编写一个包5.4.2 常用工具5.4.1 独立可执行文件何时有用5.4.3 可执行包中Python代码的安全性6 部署代码076 部署代码016.1 十二要素应用026.2 用Fabric进行自动化部署036.3 你自己的包索引或索引镜像

8、046.4 常见约定与实践056.5 代码检测与监控066.6 小结6 部署代码6.3 你自己的包索引或索引镜像6.3.1 PyPI镜像6.3.2 使用包进行部署6.4 常见约定与实践6 部署代码6.4.2 隔离6.4.4 应该在用户空间运行应用代码6.4.6 优雅地重新加载进程6.4.1 文件系统层次结构6.4.3 使用进程管理工具6.4.5 使用HTTP反向代理6.5 代码检测与监控6 部署代码CBA6.5.1 记录错误sentry/raven6.5.2 监控系统与应用指标6.5.3 处理应用日志7 使用其他语言开发Python扩展087 使用其他语言开发Python扩展7.1 使用C或者

9、C+编写扩展7.2 为什么你想用扩展7.3 编写扩展7.6 小结7.5 无扩展的动态库接口7.4 挑战7 使用其他语言开发Python扩展7.2 为什么你想用扩展标 题017.2.1 提高关键代码段的性能027.2.2 集成现有的使用不同语言编写的代码047.2.4 创建自定义数据类型037.2.3 集成第三方动态库7 使用其他语言开发Python扩展7.3 编写扩展7.3.1 纯C扩展17.3.2 Cython27.4 挑战7 使用其他语言开发Python扩展017.4.1 额外的复杂性027.4.2 调试7 使用其他语言开发Python扩展7.5 无扩展的动态库接口7.5.1 ctypes

10、7.5.2 CFFI8 管理代码098 管理代码8.2 持续的开发过程028.3 小结8.1 版本控制系统018.1 版本控制系统8 管理代码8.1.2 分布式系统8.1.4 尽可能使用Git8.1.1 集中式系统8.1.3 集中式还是分布式8.1.5 Git工作流程与GitHub工作流程8.2 持续的开发过程8 管理代码8.2.2 持续交付8.2.4 常用的持续集成工具8.2.1 持续集成8.2.3 持续部署8.2.5 选择正确的工具和常见的陷阱9 文档化你的项目109 文档化你的项目9.1 7项技术写作规则9.2 reStructuredText入门9.5 小结9.4 构建自己的文档集9.

11、3 构建文档9 文档化你的项目9.1 7项技术写作规则9.1.1 两步写作019.1.2 定位读者029.1.3 使用简单的风格039.1.4 限制信息范围049.1.5 使用现实中的代码示例059.1.6 使用轻量且充分的方法069 文档化你的项目9.1 7项技术写作规则9.1.7 使用模板9 文档化你的项目9.2 reStructuredText入门9.2.3 行内标记9.2.1 章节结构9.2.2 列表9.2.4 文字块9.2.5 链接9 文档化你的项目9.4 构建自己的文档集9.4.1 构建格局9.4.2 文档构建与持续集成10 测试驱动开发1110 测试驱动开发10.1 我不测试10

12、.2 我做测试10.3 小结10.1 我不测试10 测试驱动开发10.1.2 什么样的测试10.1.1 测试开发的原则10.1.3 达式Python标准测试工具10.2 我做测试10 测试驱动开发10.2.2 unittest的替代品10.2.4 仿真与模拟10.2.6 文档驱动开发10.2.1 unittest陷阱10.2.3 测试覆盖率10.2.5 测试环境与依赖兼容性11 优化一般原则与分析技术1211 优化一般原则与分析技术11.2 优化策略0211.3 查找瓶颈0311.4 小结11.1 3个优化规则0111.1 3个优化规则11 优化一般原则与分析技术11.1.2 从用户的角度考虑

13、11.1.1 首先要能工作11.1.3 保持代码的可读性和可维护性11 优化一般原则与分析技术11.2 优化策略CBA11.2.1 找到另外的罪魁祸首11.2.2 扩展硬件11.2.3 编写速度测试11.3 查找瓶颈11 优化一般原则与分析技术11.3.2 分析内存使用11.3.1 分析CPU使用情况11.3.3 分析网络使用情况12 优化一些强大的技术1312 优化一些强大的技术12.1 降低复杂度12.2 简化12.3 使用集合模块12.6 小结12.5 缓存12.4 架构体系的权衡12 优化一些强大的技术12.1 降低复杂度12.1.1 循环复杂度112.1.2 大O记法212 优化一些

14、强大的技术12.3 使用集合模块12.3.1 deque0112.3.3 namedtuple0312.3.2 defaultdict12 优化一些强大的技术12.4 架构体系的权衡CBA12.4.1 使用启发式和近似算法12.4.2 使用任务队列和延迟处理12.4.3 使用概率型数据结构LOGOM.94275.CN12 优化一些强大的技术12.5 缓存12.5.1 确定性缓存0112.5.3 缓存服务0312.5.2 非确定性缓存0213 并发1413 并发13.1 为什么需要并发13.2 多线程13.5 小结13.4 异步编程13.3 多进程13 并发13.2 多线程CBA13.2.1 什么是多线程13.2.2 Python如何处理多线程13.2.3 何时应该使用多线程13 并发13.4 异步编程13.4.2 Python中的async和await关键字13.4.1 协同多任务与异步I/O13.4.3 老Python版本中的asyncio12313.4.5 使用futures将异步代码同步化13.4.4 异步编程实例4514 有用的设计模式1514 有用的设计模式14.1 创建型模式 14.3 行为模式14.3.1 观察者14.3.2 访问者14.3.3 模板14.2 结构型模式14.2.1 适配器14.2.2 代理14.2.3 外观14.4 小结 感谢聆听

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Python高级编程(第2版).pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|