Python开发者用Pythonic这个形容词来描述具有特定风格的代码.这种风格是大家在使用Python语言进行编程并相互协作的过程中逐渐形成的习惯.那么,如何以改风格完成常见的Python编程工作呢?本节将会回答这个问题. 第一条:确认自己所用的Python版本 第二条:遵循PEP8风格指南 第三条:了解bytes.str与unicode的区别 第四条:用辅助函数来取代复杂的表达式 第五条:了解切割序列的方法 第六条:在单次切片操作内,不要同时指定start.end和stride 第七条:用列…
Python预装了许多写程序时会用到的重要模块.这些标准软件包与通常意义上的Python语言联系得非常精密,我们可以将其当成语言规范的一部分.本节将会讲解基本的内置模块. 第四十二条:用functools.wraps定义函数修饰器 第四十三条:考虑以contextlib和with语句来改写可复用的try/finally代码 第四十四条:用copyreg实现可靠的pickle操作 第四十五条:应该用datetime模块来处理本地时间,而不是time模块 第四十六条:使用内置算法与数据结构 第四十七…
Python提供了一些工具,使我们可以把软件部署到不同的环境中.它也提供了一些模块,令开发者可以把程序编写的更加健壮.本章讲解如何使用Python调试.优化并测试程序,以提升其质量与性能. 第五十四条:考虑用模块级别的代码来配置不同的部署环境 第五十五条:通过repr字符串来输出调试信息 第五十六条:用unittest来测试全部代码 第五十七条:考虑用pdb来实现交互调试 第五十八条:先分析性能,然后再优化 第五十九条:用tracemalloc来掌握内存的使用及泄露情况 第五十四条:考虑用模块级…
如果多个人要开发同一个Python程序,那就得仔细商量代码的写法了.即使你是一个人开发,也需要理解其他人所写的模块.本节讲解多人协作开发Python程序时所用的标准工具及最佳做法. 第四十九条:为每个函数.类和模块来编写文档字符串 第五十条:用包来安排模块,并提供稳固的API 第五十一条:为自编的模块定义根异常,以便将调用者与API相隔离 第五十二条:用适当的方式打破循环依赖关系 第五十三条:用虚拟环境隔离项目,并重建其依赖关系 第四十九条:为每个函数.类和模块来编写文档字符串 第五十条:用包来…
用Python进行编程时,通常需要编写心累,并定义这些类应该如何通过其接口及继承体系与外界交互.本节讲解如何使用类和继承来表达对象所以更具备的行为. 第二十二条:尽量用辅助类来维护程序的状态,而不要用字典和元组 第二十三条:简单的接口应该接受函数,而不是类的实例 第二十四条:以@classmethod形式的多态去通用地构建对象 第二十五条:用super初始化父类 第二十六条:只在使用Mix-in组件制作工具类时进行多重继承 第二十七条:多用public属性,少用private属性 第二十八条:继…
Python中的函数具备多种特性,这可以简化编程工作.Python函数的某些性质与其他编程语言中的函数相似,但也有性质是Python独有的.本节将介绍如何用函数来表达亿图.提升可复用程度,并减少Bug 第十四条:尽量用异常来表示特殊情况,而不要返回None 第十五条:了解如何在闭包里使用外围作用域中的变量 第十六条:考虑用生成起来改成直接返回列表的函数 第十七条:在参数上面迭代时,要多加小心 第十八条:用数量可变的位置参数减少视觉杂讯 第十九条:用关键字参数来表达可选的行为 第二十条:用None…
用Python可以很容易就能写出并发程序,这种程序可以在同一时间做许多间不同的事情.我们也可以通过系统调用.子进程(subprocess)及C语言扩展来实现并行处理. 第三十六条: 用subprocess模块来管理子进程 第三十七条:可以用线程来执行阻塞式I/O,但不要用它做平行计算 第三十八条:在线程中使用Lock来防止数据竞争 第三十九条:用Queue来协调个线程之间的工作 第四十条:考虑用协程来并发的运行多个函数 第四十一条:考虑用concurrent.futures来实现真正的平行计算…
元类(metaclass)及动态属性(dynamic attribute)都是很强大的Python特性,然后他们也可能导致及其古怪.及其突然的行为.本节讲解这些机制的常见用法,以确保各位程序员写出来的代码符合最小惊讶原则(rule of least surprise). 第二十九条:用纯属性取代get和set方法 第三十条: 考虑用@property来代替属性重构 第三十一条:用描述符来改写需要复用的@property方法 第三十二条:用__getattr__.__getattribute__和…
      本文由海水的味道编译整理,转载请注明译者和出处,请勿用于商业用途! 点标记语法 属性和幂等方法(多次调用和一次调用返回的结果相同)使用点标记语法访问,其他的情况使用方括号标记语法. 良好的风格: view.backgroundColor = [UIColor orangeColor]; [UIApplication sharedApplication].delegate; 不良的风格: [view setBackgroundColor:[UIColor orangeColor]];…
HTML Inspector 是一款代码质量检测工具,帮助你编写更优秀的 HTML 代码.HTML Inspector 使用 JavaScript 编写,运行在浏览器中,是最好的 HTML 代码检测工具. 您可能感兴趣的相关文章 Metronic – 赞!Bootstrap 响应式后台管理模板 OverAPI.com – 史上最全开发人员在线速查手册 Web 开发人员必备的随机 JSON 数据生成工具 Verlet-js:超炫的开源 JavaScript 物理引擎推荐 Codrops 教程:基于…