• Effective Python: 59 Specific Ways to Write Better Python [英文原版 完整版]

    目录 本书赞誉 译者序 前言 致谢 第1章用Pythonic方式来思考1 第1条:确认自己所用的Python版本1 第2条:遵循PEP8风格指南3 第3条:了解bytes、str与unicode的区别5 第4条:用辅助函数来取代复杂的表达式8 第5条:了解切割序列的办法10 第6条:在单次切片操作内,不要同时指定start、end和stride13 第7条:用列表推导来取代map和f?ilter15 第8条:不要使用含有两个以上表达式的列表推导16 第9条:用生成器表达式来改写数据量较大的列表推导18 第10条:尽量用enumerate取代range20 第11条:用zip函数同时遍历两个迭代器21 第12条:不要在for和while循环后面写else块23 第13条:合理利用try/except/else/f?inally结构中的每个代码块25 第2章函数28 第14条:尽量用异常来表示特殊情况,而不要返回None28 第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条:在重视精确度的场合,应该使用decimal166 第48条:学会安装由Python开发者社区所构建的模块168 第7章协作开发170 第49条:为每个函数、类和模块编写文档字符串170 第50条:用包来安排模块,并提供稳固的API174 第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
    14.68MB
    2018-02-11
    32
  • Django最佳实践(Two scoops of django1.11) 高清PDF【英文版】

    针对最新发布的django1.11的而写的一本关于django最佳实践的书籍,成为django开发高手必读,有兴趣可以下载看看

    5
    344
    8.3MB
    2018-01-02
    10
  • 流畅的Python 非扫描版带目录

    本书由奋战在Python开发一线近20年的Luciano Ramalho执笔,Victor Stinner、Alex Martelli等Python大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾Python 3和Python 2,告诉你Python中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的Python代码。   ● Python数据模型:理解为什么特殊方法是对象行为一致的关键。   ● 数据结构:充分利用内置类型,理解Unicode文本和字节二象性。   ● 把函数视作对象:把Python函数视作一等对象,并了解这一点对流行的设计模式的影响。   ● 面向对象习惯用法:通过构建类学习引用、可变性、接口、运算符重载和多重继承。   ● 控制流程:学习使用上下文管理器、生成器、协程,以及通过concurrent.futures和asyncio包实现的并发。   ● 元编程:理解特性、描述符、类装饰器和元类的工作原理. 前言  xvii 第一部分 序幕 第1章 Python 数据模型  2 1.1 一摞 Python 风格的纸牌  3 1.2 如何使用特殊方法  6 1.2.1 模拟数值类型  7 1.2.2 字符串表示形式  9 1.2.3 算术运算符  10 1.2.4 自定义的布尔值  10 1.3 特殊方法一览  10 1.4 为什么 len 不是普通方法  12 1.5 本章小结  12 1.6 延伸阅读  13 第二部分 数据结构 第2章 序列构成的数组  16 2.1 内置序列类型概览  17 2.2 列表推导和生成器表达式  18 2.3 元组不仅仅是不可变的列表  22 2.4 切片  28 2.5 对序列使用 + 和 *  31 2.6 序列的增量赋值  33 2.7  list.sort 方法和内置函数 sorted  36 2.8 用 bisect 来管理已排序的序列  37 2.9 当列表不是首选时  41 2.10 本章小结  49 2.11 延伸阅读  50 第3章 字典和集合  54 3.1 泛映射类型  54 3.2 字典推导  56 3.3 常见的映射方法  57 3.4 映射的弹性键查询  61 3.5 字典的变种  65 3.6 子类化 UserDict  65 3.7 不可变映射类型  67 3.8 集合论  68 3.9  dict 和 set 的背后  73 3.10 本章小结  80 3.11 延伸阅读  81 第4章 文本和字节序列  83 4.1 字符问题  84 4.2 字节概要  85 4.3 基本的编解码器  88 4.4 了解编解码问题  89 4.5 处理文本文件  94 4.6 为了正确比较而规范化 Unicode 字符串  99 4.7 Unicode 文本排序  105 4.8 Unicode 数据库  108 4.9 支持字符串和字节序列的双模式 API  109 4.10 本章小结  112 4.11 延伸阅读  113 第三部分 把函数视作对象 第5章 一等函数  118 5.1 把函数视作对象  119 5.2 高阶函数  120 5.3 匿名函数  122 5.4 可调用对象  122 5.5 用户定义的可调用类型  123 5.6 函数内省  124 5.7 从定位参数到仅限关键字参数  126 5.8 获取关于参数的信息  127 5.9 函数注解  131 5.10 支持函数式编程的包  132 5.11 本章小结  137 5.12 延伸阅读  137 第6章 使用一等函数实现设计模式  141 6.1 案例分析:重构“策略”模式  142 6.2 “命令”模式  150 6.3 本章小结  151 6.4 延伸阅读  152 第7章 函数装饰器和闭包  154 7.1 装饰器基础知识  155 7.2 Python 何时执行装饰器  156 7.3 使用装饰器改进“策略”模式  157 7.4 变量作用域规则  159 7.5 闭包  161 7.6  nonlocal 声明  164 7.7 实现一个简单的装饰器  165 7.8 标准库中的装饰器  168 7.9 叠放装饰器  172 7.10 参数化装饰器  173 7.11 本章小结  177 7.12 延伸阅读  178 第四部分 面向对象惯用法 第8章 对象引用、可变性和垃圾回收  182 8.1 变量不是盒子  183 8.2 标识、相等性和别名  184 8.3 默认做浅复制  187 8.4 函数的参数作为引用时  190 8.5  del 和垃圾回收  195 8.6 弱引用  196 8.7 Python 对不可变类型施加的把戏  199 8.8 本章小结  201 8.9 延伸阅读  201 第9章 符合 Python 风格的对象  205 9.1 对象表示形式  206 9.2 再谈向量类  206 9.3 备选构造方法  208 9.4  classmethod 与 staticmethod  209 9.5 格式化显示  210 9.6 可散列的 Vector2d  213 9.7 Python 的私有属性和“受保护的”属性  218 9.8 使用 __slots__ 类属性节省空间  220 9.9 覆盖类属性  222 9.10 本章小结  224 9.11 延伸阅读  225 第10章 序列的修改、散列和切片  229 10.1  Vector 类:用户定义的序列类型  230 10.2  Vector 类第1 版:与 Vector2d 类兼容  230 10.3 协议和鸭子类型  232 10.4  Vector 类第2 版:可切片的序列  233 10.5  Vector 类第3 版:动态存取属性  237 10.6  Vector 类第4 版:散列和快速等值测试  240 10.7  Vector 类第5 版:格式化  244 10.8 本章小结  251 10.9 延伸阅读  251 第11章 接口:从协议到抽象基类  256 11.1 Python 文化中的接口和协议  257 11.2 Python 喜欢序列  258 11.3 使用猴子补丁在运行时实现协议  260 11.4 Alex Martelli 的水禽  262 11.5 定义抽象基类的子类  266 11.6 标准库中的抽象基类  267 11.7 定义并使用一个抽象基类  270 11.8  Tombola 子类的测试方法  278 11.9 Python 使用 register 的方式  281 11.10 鹅的行为有可能像鸭子  281 11.11 本章小结  283 11.12 延伸阅读  284 第12章 继承的优缺点  289 12.1 子类化内置类型很麻烦  289 12.2 多重继承和方法解析顺序  292 12.3 多重继承的真实应用  296 12.4 处理多重继承  298 12.5 一个现代示例:Django 通用视图中的混入  301 12.6 本章小结  304 12.7 延伸阅读  304 第13章 正确重载运算符  307 13.1 运算符重载基础  308 13.2 一元运算符  308 13.3 重载向量加法运算符 +  310 13.4 重载标量乘法运算符 *  315 13.5 众多比较运算符  318 13.6 增量赋值运算符  321 13.7 本章小结  325 13.8 延伸阅读  326 第五部分 控制流程 第14章 可迭代的对象、迭代器和生成器  330 14.1  Sentence 类第1 版:单词序列  331 14.2 可迭代的对象与迭代器的对比  334 14.3  Sentence 类第2 版:典型的迭代器  337 14.4  Sentence 类第3 版:生成器函数  339 14.5  Sentence 类第4 版:惰性实现  343 14.6  Sentence 类第5 版:生成器表达式  344 14.7 何时使用生成器表达式  345 14.8 另一个示例:等差数列生成器  346 14.9 标准库中的生成器函数  349 14.10 Python  3.3 中新出现的句法: yield from  357 14.11 可迭代的归约函数  358 14.12 深入分析 iter 函数  359 14.13 案例分析:在数据库转换工具中使用生成器  360 14.14 把生成器当成协程  362 14.15 本章小结  362 14.16 延伸阅读  363 第15章 上下文管理器和 else 块  368 15.1 先做这个,再做那个: if 语句之外的 else 块  369 15.2 上下文管理器和 with 块  370 15.3  contextlib 模块中的实用工具  374 15.4 使用 @contextmanager  375 15.5 本章小结  378 15.6 延伸阅读  378 第16章 协程  381 16.1 生成器如何进化成协程  382 16.2 用作协程的生成器的基本行为  382 16.3 示例:使用协程计算移动平均值  385 16.4 预激协程的装饰器  386 16.5 终止协程和异常处理  388 16.6 让协程返回值  391 16.7 使用 yield from  393 16.8  yield from 的意义  398 16.9 使用案例:使用协程做离散事件仿真  403 16.10 本章小结  410 16.11 延伸阅读  411 第17章 使用期物处理并发  416 17.1 示例:网络下载的三种风格  416 17.2 阻塞型 I/O 和 GIL  424 17.3 使用 concurrent.futures 模块启动进程  424 17.4 实验 Executor.map 方法  426 17.5 显示下载进度并处理错误  429 17.6 本章小结  437 17.7 延伸阅读  438 第18章 使用 asyncio 包处理并发  442 18.1 线程与协程对比  443 18.2 使用 asyncio 和 aiohttp 包下载  450 18.3 避免阻塞型调用  454 18.4 改进 asyncio 下载脚本  456 18.5 从回调到期物和协程  462 18.6 使用 asyncio 包编写服务器  466 18.7 本章小结  475 18.8 延伸阅读  476 第六部分 元编程 第19章 动态属性和特性  482 19.1 使用动态属性转换数据  483 19.2 使用特性验证属性  498 19.3 特性全解析  500 19.4 定义一个特性工厂函数  504 19.5 处理属性删除操作  506 19.6 处理属性的重要属性和函数  507 19.7 本章小结  510 19.8 延伸阅读  510 第20章 属性描述符  514 20.1 描述符示例:验证属性  514 20.2 覆盖型与非覆盖型描述符对比  526 20.3 方法是描述符  531 20.4 描述符用法建议  533 20.5 描述符的文档字符串和覆盖删除操作  534 20.6 本章小结  535 20.7 延伸阅读  536 第21章 类元编程  538 21.1 类工厂函数  539 21.2 定制描述符的类装饰器  541 21.3 导入时和运行时比较  543 21.4 元类基础知识  547 21.5 定制描述符的元类  552 21.6 元类的特殊方法 __prepare__  554 21.7 类作为对象  556 21.8 本章小结  557 21.9 延伸阅读  557 结语  560 附录 A 辅助脚本  563 Python 术语表  588 作者简介  600 关于封面  600

    0
    0
    15.47MB
    2018-01-02
    7
  • p7zip_4.65_x86_linux_bin.tar.bz2

    7-Zip 是一种高压缩比存档格式 7z 的管理器,不过用于 Win 平台。如果是 Linux 用户,则可以使用 P7ZIP来代替。

    0
    98
    1.65MB
    2011-12-05
    10
  • p7zip-4.47-1.fc6.i386.rpm

    7-Zip 是一种高压缩比存档格式 7z 的管理器,不过用于 Win 平台。如果是 Linux 用户,则可以使用 P7ZIP来代替。

    4
    96
    677KB
    2011-12-05
    9
  • nagios-snmp-plugins.1.1.1.tgz

    用于监控机架设的一个小插件,需要的就拿去吧

    5
    69
    90KB
    2011-12-04
    13
  • nagios-snmp-plugins-1.2.tar.gz

    Nagios SNMP Plugins package contains two plugins to be used with Nagios

    5
    134
    16KB
    2011-12-04
    9
  • DD备份和恢复分区

    利用dd命令救援一个毁坏的磁盘系统,运维工程师必备文档,希望大家喜欢

    0
    595
    172KB
    2011-12-04
    50
  • linux系统调优

    大多数Linux 发布版都定义了适当的缓冲区和其他Transmission Control Protocol(TCP)参数。可以修改这些参数来分配更多的内存,从而改进网络性能。

    0
    157
    207KB
    2011-12-04
    19
  • Linux必学的60个命令

    linux必须要掌握的60条命令,有了这个基础,玩转linux没问题

    0
    35
    329KB
    2011-12-04
    9
关注 私信
上传资源赚积分or赚钱