itertools 用于更高效地创建迭代器的函数工具. itertools 提供的功能受Clojure,Haskell,APL和SML等函数式编程语言的类似功能的启发.它们的目的是快速有效地使用内存,并且将它们关联在一起以表示更复杂的基于迭代的算法. 基于迭代器的代码比使用列表的代码提供了更好的内存消耗特性.因为直到数据需要使用时才从迭代器中生成,所有数据不需要同时存储在内存中.这种 "惰性" 的处理模式可以减少大型数据集的交换和其他副作用,从而提高性能. 除了 itertools 中…
functools 作用于函数的函数 functools 模块提供用于调整或扩展函数和其他可调用对象的工具,而无需完全重写它们. 装饰器 partial 类是 functools 模块提供的主要工具, 它可以用来"包装"一个可调用的对象的默认参数.它产生的对象本身是可调用的,可以看作是原生函数.它所有的参数都与原来的相同,并且可以使用额外的位置参数或命名参数来调用.使用 partial 代替 lambda 来为函数提供默认参数,同时保留那些未指定的参数. Partial 对象 下面列子…
struct模块提供了用于在字节字符串和Python原生数据类型之间转换函数,比如数字和字符串. Python版本: 2.x & 3.x 该模块作用是完成Python数值和C语言结构体的Python字符串形式间的转换. 这可以用于处理存储在文件中或从网络连接中存储的二进制数据,以及其他数据源. 1. 模块函数和Struct类 它除了提供一个Struct类之外,还有许多模块级的函数用于处理结构化的值.这里有个格式符(Format specifiers)的概念,是指从字符串格式转换为已编译的表示形式…
==random 模块== "Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin." - John von Neumann, 1951 ``random`` 模块包含许多随机数生成器. 基本随机数生成器(基于 Wichmann 和 Hill , 1982 的数学运算理论) 可以通过很多方法访问, 如 [Example 2-29 #eg-…
==time 模块== ``time`` 模块提供了一些处理日期和一天内时间的函数. 它是建立在 C 运行时库的简单封装. 给定的日期和时间可以被表示为浮点型(从参考时间, 通常是 1970.1.1 到现在经过的秒数. 即 Unix 格式), 或者一个表示时间的 struct (类元组). === 获得当前时间=== [Example 1-79 #eg-1-79] 展示了如何使用 ``time`` 模块获取当前时间. ====Example 1-79. 使用 time 模块获取当前时间====[…
==sys 模块== ``sys`` 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. === 处理命令行参数=== 在解释器启动后, ``argv`` 列表包含了传递给脚本的所有参数, 如 [Example 1-66 #eg-1-66] 所示. 列表的第一个元素为脚本自身的名称. ====Example 1-66. 使用sys模块获得脚本的参数====[eg-1-66] ``` File: sys-argv-example-1.py import sys print "sc…
operator模块提供了一系列与Python自带操作一样有效的函数.例如:operator.add(x, y)和表达式x+y是等效的.那些特殊类的方法都有自己的函数名:为了方便起见,一些函数名是没有前导和后置(_). operator模块是用c实现的,所以执行速度比python代码快. 模块主要包括一些Python内部操作符对应的函数.这些函数主要分为几类:对象比较.逻辑比较.算术运算和序列操作.     当使用 map.filter.reduce这一类高阶函数时,operator模块中的函数…
该模块作用是完成Python数值和C语言结构体的Python字符串形式间的转换.这可以用于处理存储在文件中或从网络连接中存储的二进制数据,以及其他数据源. 用途: 在Python基本数据类型和二进制数据之间进行转换 struct模块提供了用于在字节字符串和Python原生数据类型之间转换函数,比如数字和字符串. 模块函数和Struct类 它除了提供一个Struct类之外,还有许多模块级的函数用于处理结构化的值.这里有个格式符(Format specifiers)的概念,是指从字符串格式转换为已编…
原文出处: j_hao104 String模块包含大量实用常量和类,以及一些过时的遗留功能,并还可用作字符串操作. 1. 常用方法 常用方法 描述 str.capitalize() 把字符串的首字母大写 str.center(width) 将原字符串用空格填充成一个长度为width的字符串,原字符串内容居中 str.count(s) 返回字符串s在str中出现的次数 str.decode(encoding=’UTF-8’,errors=’strict’) 以指定编码格式解码字符串 str.enc…
==code 模块== ``code`` 模块提供了一些用于模拟标准交互解释器行为的函数. ``compile_command`` 与内建 ``compile`` 函数行为相似, 但它会通过测试来保证你传递的是一个完成的 Python 语句. 在 [Example 2-47 #eg-2-47] 中, 我们一行一行地编译一个程序, 编译完成后会执行所得到的代码对象 (code object). 程序代码如下: ``` a = ( 1, 2, 3 ) print a ``` 注意只有我们到达第 2…