摘要: Effective以一词,并不单单局限于执行速度层面的高效率,同时有着令代码易于阅读、易于测试且易于维护等意思,此外,它还蕴藏着易于扩展、易于修改和易于多人协作等更为高阶的理念。如果能够通过一些具体的条目来培养一套分析并解决问题的思路,那就可以更加深刻地体会Python语言的设计哲学及实践艺术。很多 阅读全文
posted @ 2019-04-22 21:18 DreamBoy_张亚飞 阅读(385) 评论(0) 推荐(0) 编辑
摘要: Python提供了一些工具,使我们可以把软件部署到不同的环境中。它也提供了一些模块,令开发者可以把程序编写的更加健壮。本章讲解如何使用Python调试、优化并测试程序,以提升其质量与性能。 第五十四条:考虑用模块级别的代码来配置不同的部署环境 第五十五条:通过repr字符串来输出调试信息 第五十六条 阅读全文
posted @ 2019-04-22 21:13 DreamBoy_张亚飞 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 如果多个人要开发同一个Python程序,那就得仔细商量代码的写法了。即使你是一个人开发,也需要理解其他人所写的模块。本节讲解多人协作开发Python程序时所用的标准工具及最佳做法。 第四十九条:为每个函数、类和模块来编写文档字符串 第五十条:用包来安排模块,并提供稳固的API 第五十一条:为自编的模 阅读全文
posted @ 2019-04-22 21:06 DreamBoy_张亚飞 阅读(617) 评论(0) 推荐(0) 编辑
摘要: Python预装了许多写程序时会用到的重要模块。这些标准软件包与通常意义上的Python语言联系得非常精密,我们可以将其当成语言规范的一部分。本节将会讲解基本的内置模块。 第四十二条:用functools.wraps定义函数修饰器 第四十三条:考虑以contextlib和with语句来改写可复用的t 阅读全文
posted @ 2019-04-22 21:00 DreamBoy_张亚飞 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 用Python可以很容易就能写出并发程序,这种程序可以在同一时间做许多间不同的事情。我们也可以通过系统调用、子进程(subprocess)及C语言扩展来实现并行处理。 第三十六条: 用subprocess模块来管理子进程 第三十七条:可以用线程来执行阻塞式I/O,但不要用它做平行计算 第三十八条:在 阅读全文
posted @ 2019-04-22 20:53 DreamBoy_张亚飞 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 元类(metaclass)及动态属性(dynamic attribute)都是很强大的Python特性,然后他们也可能导致及其古怪、及其突然的行为。本节讲解这些机制的常见用法,以确保各位程序员写出来的代码符合最小惊讶原则(rule of least surprise)。 第二十九条:用纯属性取代ge 阅读全文
posted @ 2019-04-22 20:46 DreamBoy_张亚飞 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 用Python进行编程时,通常需要编写心累,并定义这些类应该如何通过其接口及继承体系与外界交互。本节讲解如何使用类和继承来表达对象所以更具备的行为。 第二十二条:尽量用辅助类来维护程序的状态,而不要用字典和元组 第二十三条:简单的接口应该接受函数,而不是类的实例 第二十四条:以@classmetho 阅读全文
posted @ 2019-04-22 20:37 DreamBoy_张亚飞 阅读(244) 评论(0) 推荐(0) 编辑
摘要: Python中的函数具备多种特性,这可以简化编程工作。Python函数的某些性质与其他编程语言中的函数相似,但也有性质是Python独有的。本节将介绍如何用函数来表达亿图、提升可复用程度,并减少Bug 第十四条:尽量用异常来表示特殊情况,而不要返回None 第十五条:了解如何在闭包里使用外围作用域中 阅读全文
posted @ 2019-04-22 19:16 DreamBoy_张亚飞 阅读(233) 评论(0) 推荐(0) 编辑
摘要: Python开发者用Pythonic这个形容词来描述具有特定风格的代码。这种风格是大家在使用Python语言进行编程并相互协作的过程中逐渐形成的习惯。那么,如何以改风格完成常见的Python编程工作呢?本节将会回答这个问题。 第一条:确认自己所用的Python版本 第二条:遵循PEP8风格指南 第三 阅读全文
posted @ 2019-04-22 19:05 DreamBoy_张亚飞 阅读(505) 评论(0) 推荐(0) 编辑