新書推薦:
《
加加美高浩的手部绘画技法 II
》
售價:HK$
89.4
《
卡特里娜(“同一颗星球”丛书)
》
售價:HK$
87.4
《
伟大民族:从路易十五到拿破仑的法国史(方尖碑)
》
售價:HK$
188.2
《
古今“书画同源”论辨——中国书法与中国绘画的关系问题兼中国画笔墨研究
》
售價:HK$
132.2
《
《日本文学史序说》讲演录
》
售價:HK$
72.8
《
无尽的海洋:美国海事探险与大众文化(1815—1860)
》
售價:HK$
99.7
《
治盗之道:清代盗律的古今之辨
》
售價:HK$
122.1
《
甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册)
》
售價:HK$
210.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 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文档的玄机,确定分发代码的更佳方式
|
關於作者: |
J. Burton Browning在北卡罗来纳州立大学获得博士学位。他的研究领域包括远程学习、编程技术和教学。作为一位终生学习者,他涉猎广泛,对编程、摄影、机器人技术、汽车修复、木工、狩猎、阅读、钓鱼和射箭等话题都很感兴趣。Browning博士之前的著作所涉及的内容包括跨职能学习团队Cross-Functional Learning Teams,CFLT、乌托邦学校教师主导的学校模式、计算机编程多种语言、开源软件、医疗统计和数据挖掘、数控等离子切割机操作、教育、传记、移动学习、在线教学等。
Marty Alchin的本职工作是在Heroku担任高级软件工程师,他在闲暇时间热衷于为社区编写代码,在其他许多以Gulopine为名的服务中都有关于他的简介。特别是,他编写的代码可以在GitHub上找到,他的一些随机想法也可以在Twitter上找到。
|
目錄:
|
第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 lambda109
3.6 自省110
3.6.1 标识对象类型111
3.6.2 模块和软件包112
3.6.3 文档字符串112
3.7 令人兴奋的Python扩展:统计115
3.7.1 安装Pandas和matplotlib115
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
第5章 通用协议167
5.1 基本运算167
5.1.1 数学运算169
5.1.2 按位运算173
|
內容試閱:
|
《Python 3高级教程第3版》的每一章中都有一些有用的库,任何Python程序员都会发现它们的价值。将你学到的知识运用于自己的项目中,享受它们!
J. Burton Browning
当我编写自己的第一本书Pro Django时,我并不知道读者会对什么感兴趣。我获得很多我认为对他人学习有用的信息,但我并不知道他们能学到的最有价值的东西是什么。事实证明,在这本书中,最受欢迎的一章几乎没有提到Django,内容都是关于Python的。
反馈是非常强烈的,很明显,读者希望更多地了解如何从简单的Python应用程序过渡到Django这样的框架。所有这些都是纯Python代码,但即使对Python语言有相当全面的理解,也很难理解里面所涉及的工具和技术,需要一些你在一般情况下可能不会遇到的额外知识。
这让我在撰写本书时有了如下新的目标:让读者从精通变得专业。成为一名真正的专业人士所需要的经验远胜于从书本上学到的内容,但我想至少为读者提供一些所需的工具。结合Python社区的丰富理念,读者将找到大量信息,从而将代码提升到新的水平。
Marty Alchin
本书读者对象
我们的目标是使中级程序员达到更高的水平,在学习本书前我们希望你已经对Python有了基本的了解。你应该能够轻松地使用交互式解释器、编写控制结构和掌握基本的面向对象方法。
以上并不是什么困难的先决条件。如果已经尝试编写过Python应用程序即使还没有发布到环境中,甚至还没有完成,那么你可能已经掌握了编写Python应用程序所需的所有入门知识。本书将向你介绍编写Python应用程序所需要的其他信息。
|
|