Effective Python:编写高质量 Python 代码的59个有效方法
本书可以帮你掌握真正的 Pythonic 编程方式,令你能够完全发挥出 Python 语言的强大功能,并写出健壮而高效的代码。Scott Meyers 在畅销书《Effective C++》中开创了一种以使用场景为主导的精练教学方式,本书作者 Brett Slatkin 就以这种方式汇聚了 59 条实践原则、开发技巧和便捷方案,并以实用的代码范例来解释它们。
封面
书名
版权
前言
目录
第1章 用Pythonic方式来思考
第2 条:遵循PEP 8风格指南
第3 条:了解bytes、str与unicode的区别
第4 条:用辅助函数来取代复杂的表达式
第5 条:了解切割序列的办法
第6 条:在单次切片操作内,不要同时指定start、end和stride
第7 条:用列表推导来取代map和filter
第8 条:不要使用含有两个以上表达式的列表推导
第9 条:用生成器表达式来改写数据量较大的列表推导
第10 条:尽量用enumerate取代range
第11 条:用zip函数同时遍历两个迭代器
第12 条:不要在for和while循环后面写else块
第13 条:合理利用try/except/else/finally结构中的每个代码块
第2章 函数
第15 条:了解如何在闭包里使用外围作用域中的变量
第16 条:考虑用生成器来改写直接返回列表的函数
第17 条:在参数上面迭代时,要多加小心
第18 条:用数量可变的位置参数减少视觉杂讯
第19 条:用关键字参数来表达可选的行为
第20 条:用None和文档字符串来描述具有动态默认值的参数
第21 条:用只能以关键字形式指定的参数来确保代码明晰
第3章 类与继承
第23 条:简单的接口应该接受函数,而不是类的实例
第24 条:以@classmethod形式的多态去通用地构建对象
第25 条:用super初始化父类
第26 条:只在使用Mix-in组件制作工具类时进行多重继承
第27 条:多用public属性,少用private属性
第28 条:继承collections.abc以实现自定义的容器类型
第4章 元类及属性
第30 条:考虑用@property来代替属性重构
第31 条:用描述符来改写需要复用的@property方法
第32 条:用__getattr__、__getattribute__和__setattr__实现按需生成的属性
第33 条:用元类来验证子类
第34 条:用元类来注册子类
第35 条:用元类来注解类的属性
第5章 并发及并行
第36 条:用subprocess模块来管理子进程
第37 条:可以用线程来执行阻塞式I/O,但不要用它做平行计算
第38 条:在线程中使用Lock来防止数据竞争
第39 条:用Queue来协调各线程之间的工作
第40 条:考虑用协程来并发地运行多个函数
第41 条:考虑用concurrent.futures来实现真正的平行计算
第6章 内置模块
第43 条:考虑以contextlib和with语句来改写可复用的try/finally代码
第44 条:用copyreg实现可靠的pickle操作
第45 条:应该用datetime模块来处理本地时间,而不是用time模块
第46 条:使用内置算法与数据结构
第47 条:在重视精确度的场合,应该使用decimal
第48 条:学会安装由Python开发者社区所构建的模块
第7章 协作开发
第50 条:用包来安排模块,并提供稳固的API
第51 条:为自编的模块定义根异常,以便将调用者与API相隔离
第52 条:用适当的方式打破循环依赖关系
第53 条:用虚拟环境隔离项目,并重建其依赖关系
第8章 部署
第55 条:通过repr字符串来输出调试信息
第56 条:用unittest来测试全部代码
第57 条:考虑用pdb实现交互调试
第58 条:先分析性能,然后再优化
第59 条:用tracemalloc来掌握内存的使用及泄漏情况
封底
下载地址:https://www.wenjiangs.com/wp-content/uploads/staticcdn/pdf/503b7bd1-56ebaac6.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论