python买什么书-有什么关于python的书值得阅读?

最近在看一本书《Effective Python:编写高质量Python代码的59个有效方法》,看时候的感受是,自己之前写的代码原来很多都是shi,太不python了。

这本书讲的并不是Python基础编程,而是Python的规范和技巧,也就是pythonic。

pythonic简单的翻译就是python风格。pythonic code,就是说写代码要带有浓厚的python规范和python风格。而Python的代码样式规范称之为PEP 8规范,往大了说,遵守PEP 8是成为一个优秀python程序员的必备条件。

书中有59个Python编程的技巧和捷径,并用真实代码示例进行了解释。当然阅读起来会有些门槛,适合那些有基础的童鞋。

主要内容

● 涵盖Python 3.x及Python 2.x主要应用领域的实用指南,以及与之配套的详细解释及代码范例。

● 与函数相关的编程建议,这些建议有助于我们写出意图清晰、便于复用且缺陷较少的函数。

● 如何准确地表达类与对象的行为。

● 在使用元类和动态属性时,如何避免错误的用法。

● 更为高效的并发及并行方式。

● 与Python内置模块相关的编程技巧和习惯用法。

● 多人协作时所用的开发工具和实践方式。

● 旨在改善代码质量和程序性能的调试、测试与优化方案。目录

●第1章 用Pythonic方式来思考 1

第1条:确认自己所用的Python版本 1

第2条:遵循PEP 8风格指南 3

第3条:了解bytes、str与unicode的区别 5

第4条:用辅助函数来取代复杂的表达式 8

第5条:了解切割序列的办法 10

第6条:在单次切片操作内,不要同时指定start、end和stride 13

第7条:用列表推导来取代map和f?ilter 15

第8条:不要使用含有两个以上表达式的列表推导 16

第9条:用生成器表达式来改写数据量较大的列表推导 18

第10条:尽量用enumerate取代range 20

第11条:用zip函数同时遍历两个迭代器 21

第12条:不要在for和while循环后面写else块 23

第13条:合理利用try/except/else/f?inally结构中的每个代码块 25

●第2章 函数 28

第14条:尽量用异常来表示特殊情况,而不要返回None 28

第15条:了解如何在闭包里使用外围作用域中的变量 30

第16条:考虑用生成器来改写直接返回列表的函数 35

第17条:在参数上面迭代时,要多加小心 37

第18条:用数量可变的位置参数减少视觉杂讯 41

第19条:用关键字参数来表达可选的行为 43

第20条:用None和文档字符串来描述具有动态默认值的参数 46

第21条:用只能以关键字形式指定的参数来确保代码明晰 49

●第3章 类与继承 53

第22条:尽量用辅助类来维护程序的状态,而不要用字典和元组 53

第23条:简单的接口应该接受函数,而不是类的实例 58

第24条:以@classmethod形式的多态去通用地构建对象 62

第25条:用super初始化父类 67

第26条:只在使用Mix-in组件制作工具类时进行多重继承 71

第27条:多用public属性,少用private属性 75

第28条:继承collections.abc以实现自定义的容器类型 79

●第4章 元类及属性 84

第29条:用纯属性取代get和set方法 84

第30条:考虑用@property来代替属性重构 88

第31条:用描述符来改写需要复用的@property方法 92

第32条:用__getattr__、__getattribute__和__setattr__实现按需生成的属性 97

第33条:用元类来验证子类 102

第34条:用元类来注册子类 104

第35条:用元类来注解类的属性 108

●第5章 并发及并行 112

第36条:用subprocess模块来管理子进程 113

第37条:可以用线程来执行阻塞式I/O,但不要用它做平行计算 117

第38条:在线程中使用Lock来防止数据竞争 121

第39条:用Queue来协调各线程之间的工作 124

第40条:考虑用协程来并发地运行多个函数 131

第41条:考虑用concurrent.futures来实现真正的平行计算 141

●第6章 内置模块 145

第42条:用functools.wraps定义函数修饰器 145

第43条:考虑以contextlib和with语句来改写可复用的try/f?inally代码 148

第44条:用copyreg实现可靠的pickle操作 151

第45条:应该用datetime模块来处理本地时间,而不是用time模块 157

第46条:使用内置算法与数据结构 161

第47条:在重视精确度的场合,应该使用decimal 166

第48条:学会安装由Python开发者社区所构建的模块 168

●第7章 协作开发 170

第49条:为每个函数、类和模块编写文档字符串 170

第50条:用包来安排模块,并提供稳固的API 174

第51条:为自编的模块定义根异常,以便将调用者与API相隔离 179

第52条:用适当的方式打破循环依赖关系 182

第53条:用虚拟环境隔离项目,并重建其依赖关系 187

●第8章 部署 193

第54条:考虑用模块级别的代码来配置不同的部署环境 193

第55条:通过repr字符串来输出调试信息 195

第56条:用unittest来测试全部代码 198

第57条:考虑用pdb实现交互调试 201

第58条:先分析性能,然后再优化 203

第59条:用tracemalloc来掌握内存的使用及泄漏情况 208

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Python 领域,有很多值得推荐的籍,它们能够帮助你更好地学习和理解这门编程语言。这里列出了几本比较受欢迎的籍: 1. 《Python 入门教程》:这本Python 入门的经典教材,适合初学者。 2. 《Python 编程:从入门到实践》:这本适合初学者和中级程序员,内容丰富,能够帮助你掌握 Python 的基础知识和实践技能。 3. 《Python 核心编程》:这本适合中级程序员和高级程序员,深入介绍了 Python 的核心概念和特性。 4. 《Python 实战》:这本适合中级程序员和高级程序员,介绍了 Python 在实际项目中的应用。 5. 《Python 学习手册》:这本适合初学者和中级程序员,提供了 Python 的基础知识和实践技能,并附有大量的练习题。 总的来说,选择哪本取决于你的学习目标和基础知识。建议你根据自己的需要和水平选择合适的籍。 ### 回答2: Python是一种简洁、易学的编程语言,广泛应用于软件开发、数据分析、人工智能等领域。对于初学者和有一定编程基础的人来说,学习Python是非常有益的。以下是我推荐的几本值得一读的Python籍。 首先是《Python编程:从入门到实践》。这本适合初学者,它以实际项目为背景,引导读者逐步学习Python的基础知识和实践技巧。同时,中还介绍了面向对象编程、Web应用程序开发和数据可视化等高级主题,能够帮助读者更好地掌握Python。 其次是《流畅的Python》。这本适合有一定Python基础的读者,它介绍了Python语言的各种高级特性和最佳实践。通过深入讲解Python的数据模型、函数式编程、并发编程等内容,读者可以提升自己的编程能力,写出更优雅、高效的Python代码。 此外,《Python核心编程》也是一本值得推荐的。这本Python领域的经典之作,覆盖了Python的方方面面。从入门到高级,从语法到标准库,都有详细的介绍和示例代码。无论是初学者还是有一定经验的Python开发者,都可以从中获得宝贵的知识和经验。 最后还有《Python Cookbook》。这本主要介绍了Python编程中的各种实用技巧和常见问题的解决方法。它收集了Python社区中的经验和智慧,对于希望深入理解Python并能解决实际问题的读者来说,是一本非常有价值的参考。 总的来说,以上这些籍都是非常值得推荐的Python学习资料。无论是初学者还是有经验的开发者,都可以从中找到适合自己的学习方法和内容,进一步提升自己的Python编程能力。 ### 回答3: 关于Python值得推荐的有很多,以下是我个人的几本推荐给初学者和进阶者的籍。 1.《Python编程:从入门到实践》:这本是为初学者设计的,以项目为导向,通过实践来学习Python的基础知识和编程技巧。 2.《Python核心编程》:该适合有一定编程基础的读者,深入讲解了Python的各种高级特性和常用模块,对于理解Python的底层原理以及提升编程能力非常有帮助。 3.《流畅的Python》:这本适合有一定经验的Python开发者,帮助读者掌握Python的高级用法和技巧,提升代码的表达力和效率。 4.《Python网络数据采集》:对于对爬虫感兴趣的读者来说,这本是很好的选择。它详细介绍了如何使用Python进行网络数据采集和处理,是学习爬虫的很好的入门籍。 5.《Python Cookbook》:这本Python编程中的经典参考,为Python开发者提供了大量实用的代码示例和问题解决方案,对于学习Python编程和解决实际问题非常有帮助。 这些籍覆盖了Python的不同方面和应用领域,无论是初学者还是有经验的开发者,都能从中获得很多知识和经验。当然,除了看,实践和项目经验也是提高Python编程能力的重要途径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值