- ISBN:9787302563556
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:352
- 出版时间:2020-10-01
- 条形码:9787302563556 ; 978-7-302-56355-6
本书特色
《Python 3高级教程(第3版)》从基础知识开始讲起,由浅入深,逐步介绍了函数、类、内置对象、对象管理、字符串、文档使用、测试等内容。Python 3终于把 Python 2中让人诟病的字节和字符串区分开了,因此本书用一整章的内容详细阐述Python 3中的字符串及相关新特性。不得不说,Python 3在处理字符串时相比其他语言要好很多。 在介绍函数和类时,《Python 3高级教程(第3版)》引入了大量你在实际项目中可能会用到的实战小技巧,你可以参考项目的案例代码,以便理解用法。本书原著被奉为“Python进阶神作”。对于有一定Python经验的程序员,本书将能够帮助你更好地理解Python 的运作原理,从而在工作中编写出更好的代码。
内容简介
《Python 3不错教程(第3版)》将引导你改进编程技术和方法,成为一名更具生产力和创造性的Python程序员。书中探讨的一些概念和特性不仅可以帮助你改进代码,而且还将加深你对Python社区中有关Python的哲学见解和细节理解。 《Python 3不错教程(第3版)》提供的一些工具有助于你编写简洁的创新性代码。书中首先回顾了Python的一些核心指导原则,这些指导原则将在本书后面的各种概念和示例中加以说明。本书的前半部分探讨了函数、类、协议和字符串的各个方面,并介绍了一些可能不是常识的技术,它们共同为你构筑坚实的Python编程基础。本书的后半部分涵盖了文档、测试和应用的发布。通过学习本书,你将能够开发一个复杂的Python框架,其中包含贯穿全书的思想。 作为第3版,本书新增和更新的内容包括迭代器在Python 3中的作用、使用Scrapy和Beautful Soup进行Web抓取、使用Requests调用没有字符串的Web页面、用于分发和安装的新工具,等等。在本书的很后,你还将学习一些不常见的特性,从而将自己的Python技能提升到一个新的高度。 主要内容 使用各类Python函数实现程序 使用类和面向对象编程 使用标准库和第三方库中的字符串 使用Python获取网站数据 编写测试套件以实现自动化单元测试 回顾成像、随机数生成和NumPy科学扩展 了解Python文档的玄机,确定分发代码的更佳方式
目录
第1章 原理与哲学 1
1.1 Python之禅 1
1.1.1 优美胜于丑陋 3
1.1.2 明了胜于晦涩 3
1.1.3 简洁胜于复杂 4
1.1.4 复杂胜于难以理解 5
1.1.5 扁平胜于嵌套 5
1.1.6 宽松胜于紧凑 6
1.1.7 可读性很重要 7
1.1.8 即便是特例,也不可违背这些规则 8
1.1.9 实用性胜于纯粹性 8
1.1.10 错误永远不应该悄无声息地过去 9
1.1.11 除非明确地沉默 10
1.1.12 面对模棱两可的情况,拒绝猜测的诱惑 11
1.1.13 应该有一种(*好只有一种)显而易见的方法 12
1.1.14 尽管这种方式起初可能并不明显,除非你是荷兰人 13
1.1.15 做比不做要好 13
1.1.16 不假思索就动手还不如不做 14
1.1.17 如果实现难以解释,那就是一个糟糕的想法 14
1.1.18 如果实现容易解释,则可能是一个好主意 14
1.1.19 命名空间是一个很棒的想法,让我们做更多这样的事情吧 15
1.2 不要重复自己 15
1.3 松耦合 16
1.4 武士原则 16
1.5 帕累托原则 17
1.6 稳健性原则 17
1.7 向后兼容性 19
1.8 小结 19
第2章 基础知识 20
2.1 总体概念 20
2.1.1 迭代 20
2.1.2 缓存 22
2.1.3 透明度 23
2.2 流程控制 23
2.2.1 捕获异常 24
2.2.2 异常链 27
2.2.3 当一切顺利的时候 29
2.2.4 继续执行,无论异常如何 31
2.2.5 优化循环 32
2.2.6 with语句 33
2.2.7 条件表达式 34
2.3 迭代 36
2.3.1 序列解包 37
2.3.2 列表解析式 39
2.3.3 生成器表达式 40
2.3.4 集合解析式 41
2.3.5 字典解析式 41
2.3.6 将迭代器链接在一起 42
2.3.7 将迭代器压缩在一起 42
2.4 容器数据类型 43
2.4.1 集合 43
2.4.2 命名元组 48
2.4.3 有序字典 48
2.4.4 带有默认值的字典 49
2.5 导入代码 50
2.5.1 回退(备用)导入 50
2.5.2 从即将发布的版本中导入 51
2.5.3 使用__all__进行自定义导入 52
2.5.4 相对导入 54
2.5.5 __import__()函数 54
2.5.6 importlib模块 57
2.6 令人兴奋的Python扩展:NIST的随机数信标 57
2.6.1 如何安装NIST信标库 58
2.6.2 示例:获取值 58
2.6.3 示例:模拟抛硬币并记录每次正反面的结果 59
2.7 小结 59
第3章 函数 60
3.1 参数 61
3.1.1 规划时的灵活性 61
3.1.2 可变位置参数 62
3.1.3 可变关键字参数 63
3.1.4 组合不同类型的参数 64
3.1.5 调用具有可变参数的函数 67
3.1.6 传递参数 67
3.1.7 自省 69
3.1.8 示例:标识参数值 70
3.1.9 示例:一个更简洁的版本 72
3.1.10 示例:验证参数 75
3.2 装饰器 76
3.2.1 闭包 78
3.2.2 包装器 80
3.2.3 带参数的装饰器 81
3.2.4 带参数或不带参数的装饰器 83
3.2.5 示例:记忆化 85
3.2.6 示例:用于创建装饰器的装饰器 86
3.3 函数注解 88
3.3.1 示例:类型安全 89
3.3.2 提取样板 97
3.3.3 示例:类型强制转换 100
3.3.4 用装饰器进行注解 102
3.3.5 示例:将类型安全作为装饰器 102
3.4 生成器 107
3.5 lambda 109
3.6 自省 110
3.6.1 标识对象类型 111
3.6.2 模块和软件包 112
3.6.3 文档字符串 112
3.7 令人兴奋的Python扩展:统计 115
3.7.1 安装Pandas和matplotlib 115
3.7.2 创建文本文件 115
3.7.3 使用Pandas显示数据 116
3.7.4 进行一些数据分析 116
3.7.5 使用matplotlib进行绘图 117
3.7.6 图表的类型 117
3.7.7 将matplotlib与Pandas结合起来 118
3.8 小结 118
第4章 类 119
4.1 继承 119
4.1.1 多重继承 122
4.1.2 方法解析顺序 123
4.1.3 示例:C3算法 127
4.1.4 使用super()函数将控制权传递给其他类 134
4.1.5 自省 137
4.2 如何创建类 139
4.2.1 在运行时创建类 140
4.2.2 元类 141
4.2.3 示例:插件框架 142
4.2.4 控制命名空间 145
4.3 成员变量 147
4.3.1 属性 147
4.3.2 描述器 149
4.4 方法 152
4.4.1 非绑定方法 152
4.4.2 绑定方法 153
4.5 魔术方法 156
4.5.1 创建实例 157
4.5.2 示例:自动化子类 158
4.5.3 处理成员变量 159
4.5.4 字符串表示 162
4.6 令人兴奋的Python扩展:迭代器 164
4.7 小结 166
第11章 构建CSV框架sheets 290
11.1 构建声明性框架 291
11.1.1 声明性编程简介 291
11.1.2 是否构建声明性框架 292
11.2 构建框架 293
11.2.1 管理选项 294
11.2.2 定义字段 297
11.2.3 将字段附加到类 298
11.2.4 添加元类 300
11.2.5 整合 303
11.3 字段排序 304
11.3.1 DeclarativeMeta.__prepare__() 305
11.3.2 Column.__init__() 307
11.3.3 Column.__new__() 310
11.3.4 CounterMeta.__call__() 311
11.3.5 挑选选项 313
11.4 构建字段库 313
11.4.1 StringField(字符串字段) 315
11.4.2 IntegerColumn(整数列) 315
11.4.3 FloatColumn(浮点数列) 316
11.4.4 DecimalColumn(小数列) 316
11.4.5 DateColumn(日期列) 317
11.5 回到CSV 321
11.5.1 检查参数 322
11.5.2 填充值 324
11.5.3 读取器 327
11.5.4 写入器 331
11.6 小结 334
作者简介
J. Burton Browning在北卡罗来纳州立大学获得博士学位。他的研究领域包括远程学习、编程技术和教学。作为一位终生学习者,他涉猎广泛,对编程、摄影、机器人技术、汽车修复、木工、狩猎、阅读、钓鱼和射箭等话题都很感兴趣。Browning博士之前的著作所涉及的内容包括跨职能学习团队(Cross-Functional Learning Teams,CFLT)、乌托邦学校(教师主导的学校模式)、计算机编程(多种语言)、开源软件、医疗统计和数据挖掘、数控等离子切割机操作、教育、传记、移动学习、在线教学等。 Marty Alchin的本职工作是在Heroku担任高级软件工程师,他在闲暇时间热衷于为社区编写代码,在其他许多以Gulopine为名的服务中都有关于他的简介。特别是,他编写的代码可以在GitHub上找到,他的一些随机想法也可以在Twitter上找到。
-
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥12.8¥32.0 -
AI绘画+AI摄影+AI短视频从入门到精通
¥45.5¥79.8 -
企业AI之旅
¥43.5¥79.0 -
机器学习
¥59.4¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
软件设计的哲学(第2版)
¥51.0¥69.8 -
智能算法优化及其应用
¥52.4¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥62.3¥89.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥67.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
人工智能
¥29.4¥42.0 -
中文版PHOTOSHOP 2024+AI修图入门教程
¥59.3¥79.0 -
WPS办公软件应用
¥25.2¥36.0 -
格拉斯曼流行学习及其在图像集分类中的应用
¥13.7¥28.0 -
轻松上手AIGC:如何更好地向CHATGPT提问
¥40.3¥62.0 -
元宇宙的理想与现实:数字科技大成的赋能与治理逻辑
¥61.6¥88.0 -
云原生安全:攻防与运营实战
¥66.8¥89.0