×
Effective Python编写高质量Python代码的59个有效方法

Effective Python编写高质量Python代码的59个有效方法

1星价 ¥28.9 (4.9折)
2星价¥28.9 定价¥59.0

温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>

暂无评论
图文详情
  • ISBN:9787111523550
  • 装帧:暂无
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:210
  • 出版时间:2016-01-01
  • 条形码:9787111523550 ; 978-7-111-52355-0

本书特色

本书作者brettslatkin以使用场景为主导的精练教学方式,汇聚了59条优秀的实践原则、开发技巧和便捷方案,并以实用的代码范例来解释它们。作者根据自己在google公司多年开发python基础架构所积累的经验,揭示了python语言中一些鲜为人知的微妙特性,并给出了能够改善代码功能及运行效率的习惯用法。通过本书,你能够了解到解决关键编程任务所用的**方式,并学会编写易于理解、便于维护且利于改进的代码。

内容简介

本书作者BrettSlatkin以使用场景为主导的精练教学方式,汇聚了59条优秀的实践原则、开发技巧和便捷方案,并以实用的代码范例来解释它们。作者根据自己在Google公司多年开发Python基础架构所积累的经验,揭示了Python语言中一些鲜为人知的微妙特性,并给出了能够改善代码功能及运行效率的习惯用法。通过本书,你能够了解到解决关键编程任务所用的*佳方式,并学会编写易于理解、便于维护且利于改进的代码。

目录

目  录?contents本书赞誉译??者??序前  言致  谢第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
展开全部

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航