
Python
文章平均质量分 79
dapeng0802
这个作者很懒,什么都没留下…
展开
-
[Python标准库]collections——容器数据类型[一]
[Python标准库]collections——容器数据类型 作用:容器数据类型 Python 版本:2.4 及以后版本 collections 模块包含除内置类型 list、dict 和 tuple 以外的其他容器数据类型。Counter Counter 作为一个容器,可以跟踪相同的值增加了多少次。这个类可以用来实现其他原创 2015-12-18 23:07:50 · 760 阅读 · 0 评论 -
[Python标准库]pprint——美观打印数据结构
[Python标准库]pprint——美观打印数据结构 作用:美观打印数据结构。 Python 版本:1.4 及以后版本 pprint 包含一个“美观打印机”(pretty printer),用于生成数据结构的一个美观视图。格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅读。输出尽可能放在一行上,分解为多行时则需要原创 2016-01-05 21:58:56 · 3968 阅读 · 1 评论 -
[Python标准库]functools——管理函数的工具
[Python标准库]functools——管理函数的工具 作用:处理其他函数的函数。 Python 版本:2.5 及以后版本 functools 模块提供了一些工具来调整或扩展函数和其他可回调对象,而不必完全重写。修饰符 functools 模块提供的主要工具是 partial 类,它可以用来“包装”一个有默认参数的可回原创 2016-01-05 23:04:56 · 729 阅读 · 0 评论 -
[Python标准库]itertools——迭代器函数
[Python标准库]itertools——迭代器函数 作用:itertools 模块包含一组函数用于处理序列数据集。 Python 版本:2.3 及以后版本 itertools 提供的函数是受函数式编程语言(如 Clojure 和 Haskell)中类似特性的启发。其目的是保证快速,并且高效地使用内存,而且可以联结在一起表述更为复杂的基于迭代原创 2016-01-06 22:44:48 · 990 阅读 · 0 评论 -
[Python标准库]collections——容器数据类型[二]
[Python标准库]collections——容器数据类型deque deque(双端队列)支持从任意一端增加和删除元素。更为常用的两种结构,即栈和队列,就是双端队列的退化形式,其输入和输出限制在一端。import collectionsd = collections.deque('abcdefg')print 'Deque:', dprint 'Lengt原创 2015-12-22 21:02:52 · 562 阅读 · 0 评论 -
[Pythong标准库]array——固定类型数据序列
[Pythong标准库]array——固定类型数据序列 作用:高效管理固定类型数值数据的序列。 Python 版本:1.4 及以后版本 array 模块定义了一个序列数据结构,看起来与 list 非常相似,只不过所有成员都必须是相同的基本类型。可以参考 array 的标准库文档全面了解目前支持的所有类型。初始化 array原创 2015-12-22 21:36:06 · 753 阅读 · 0 评论 -
[python标准库]math——数学函数
[python标准库]math——数学函数 作用:提供函数完成特殊的数学运算。 Python 版本:1.4 及以后版本 math 模块实现了正常情况下内置平台 C 库中才有的很多 IEEE 函数,可以使用浮点值完成复杂的数学运算,包括对数和三角函数运算。特殊常量 很多数学运算依赖于一些特殊的常量。math 包含有 π(pi原创 2016-01-23 23:43:21 · 13309 阅读 · 0 评论 -
[Python标准库]heapq——堆排序算法
[Python标准库]heapq——堆排序算法 作用:headpq 模块实现了一个适用于 Python 列表的最小堆排序算法。 Python 版本:2.3 版本中新增,并在 2.5 版本中做了补充 堆(heap)是一个树形数据结构,其中子节点与父节点是一种有序关系。二叉堆(Binary heap)可以使用如下方式组织的列表或数组表示,即元素 N原创 2015-12-23 22:02:58 · 3579 阅读 · 1 评论 -
[Python标准库]bisect——维护有序列表
[Python标准库]bisect——维护有序列表 作用:维护有序列表,而不必在每次向列表增加一个元素时都调用 sort 排序。 Python版本:1.4 及以后版本。 bisect 模块实现了一个算法用于向列表中插入元素,同时仍保持列表有序。有些情况下,这比反复对一个列表排序更高效,另外也比构建一个大列表之后再显示地对其排序更为高效。有序原创 2015-12-23 23:08:22 · 2933 阅读 · 0 评论 -
[Python标准库]Queue——线程安全的 FIFO 实现
[Python标准库]Queue——线程安全的 FIFO 实现 作用:提供一个线程安全的 FIFO 实现。 Python 版本:至少 1.4 Queue 模块提供一个适用于多线程编程的先进先出(first-in,first-out,FIFO)数据结构,可以用来在生产者消费者线程之间安全地传递消息或其他数据。它会为调用者处理锁定,使用多个线程可以原创 2015-12-25 00:00:21 · 12283 阅读 · 0 评论 -
[Python标准库]operator——内置操作符的函数接口
[Python标准库]operator——内置操作符的函数接口 作用:内置操作符的函数接口。 Python 版本:1.4 及以后版本 使用迭代器编程时,有时需要为简单的表达式创建小函数。有些情况下,这些确实可以实现为 lambda 函数,不过对于某些操作根本不需要新函数。operator 模块定义了一些对应算术和比较内置操作的函数。逻辑操作原创 2016-01-09 23:13:53 · 3684 阅读 · 0 评论 -
[Python标准库]contextlib——上下文管理器工具
[Python标准库]contextlib——上下文管理器工具 作用:创建和处理上下文管理器的工具。 Python 版本:2.5 及以后版本 contextlib 模块包含一些工具,用于处理上下文管理器和 with 语句。上下文管理器 API 上下文管理器(context manager)要负责一个代码块中的资源,可能在进原创 2016-01-10 22:41:24 · 1091 阅读 · 0 评论 -
[Python标准库]struct——二进制数据结构
[Python标准库]struct——二进制数据结构 作用:在字符串和二进制数据之间转换。 Python 版本:1.4 及以后版本 struct 模块包括一些在字节串与内置 Python 数据类型(如数字和字符串)之间完成转换的函数。函数与 Struct 类 struct 提供了一组处理结构的模块级函数,另外还有一个 St原创 2015-12-27 19:29:38 · 926 阅读 · 0 评论 -
[Python标准库]time——时钟时间
[Python标准库]time——时钟时间 作用:管理时钟时间的函数。 Python 版本:1.4 及以后版本 time 模块提供了一些用于管理日期和时间的 C 库函数。由于它绑定到底层 C 实现,一些细节(如纪元开始时间和支持的最大日期值)会特定于具体的平台。壁挂钟时间 time 模块的核心函数之一是 time(),它会原创 2016-01-11 23:12:07 · 1688 阅读 · 0 评论 -
[Python标准库]datetime——日期和时间值管理
[Python标准库]datetime——日期和时间值管理 作用:datetime 模块包含一些函数和类,用于完成日期和时间解析、格式化和算术运算。 Python 版本:2.3 及以后版本 datetime 包含一些用于处理日期和时间的函数和类,这些函数和类可以单独使用,也可以结合使用。时间 时间值用 time 类表示。t原创 2016-01-12 23:16:43 · 1223 阅读 · 1 评论 -
[Python标准库]difflib——比较序列
[Python标准库]difflib——比较序列 作用:比较序列(特别是文本行)。 Python 版本:2.1 及以后版本 difflib 模块包含一些用来计算和处理序列之间差异的工具。它对于比较文本尤其有用,其中包含的函数可以使用多种常用差异格式生成报告。 本节中的例子都会使用 difflib_data.py 模块中以下这个原创 2015-12-18 19:50:01 · 16049 阅读 · 0 评论 -
[Python标准库]re——正则表达式[六]
[Python标准库]re——正则表达式用模式修改字符串 除了搜索文本外,re 还支持使用正则表达式作为搜索机制来修改文本,而且替换可以引用正则表达式中的匹配组作为替换文本的一部分。使用 sub() 可以将一个模式的所有出现替换为另一个字符串。import rebold = re.compile(r'\*{2}(.*?)\*{2}')text = 'Make th原创 2015-12-16 22:20:50 · 437 阅读 · 0 评论 -
函数加里化(Currying)和偏函数应用(Partial Application)的比较
【名词解释】Currying:因为是美国数理逻辑学家哈斯凯尔·加里(Haskell Curry)发明了这种函数使用技巧,所以这样用法就以他的名字命名为Currying,中文翻译为“加里化”。我感觉很多人都对函数加里化(Currying)和偏函数应用(Partial Application)之间的区别搞不清楚,尤其是在相似的上下文环境中它们同时出现的时候。偏函数解决这样的问题:如果我转载 2015-04-17 15:03:18 · 554 阅读 · 0 评论 -
函数式编程中局部应用(Partial Application)和局部套用(Currying)的区别
局部应用(Partial Application,也译作“偏应用”或“部分应用”)和局部套用( Currying, 也译作“柯里化”),是函数式编程范式中很常用的技巧。本文着重于阐述它们的特点和(更重要的是)差异。元(arity)在后续的代码示例中,会频繁出现 unary(一元),binary(二元),ternary(三元)或 polyadic(多元,即多于一元)以转载 2015-04-17 15:05:13 · 540 阅读 · 0 评论 -
Python 迭代器和生成器
迭代器 迭代器只不过是一个实现迭代器协议的容器对象。它基于两个方法: next 返回容器的写一个项目;__iter__ 返回迭代器本身。迭代器可以通过使用一个iter内建函数和一个序列来创建,示例如下。 Python代码 >>> i = iter('abc') >>> i.next() 'a' >>> i.next()转载 2015-04-17 15:43:53 · 402 阅读 · 0 评论 -
[Python标准库]textwrap——格式化文本段落
textwrap——格式化文本段落 作用:通过调整换行符在段落中出现的位置来格式化文本。 Python 版本:2.5 及以后版本 需要美观打印时,可以用 textwrap 模块来格式化要输出的文本。这个模块允许通过编程提供类似段落自动换行或填充特性等功能。示例数据# textwrap_example.pysample_text原创 2015-12-10 22:50:41 · 1498 阅读 · 0 评论 -
[Python标准库]string——文本常量和模板
string——文本常量和模板 作用:包含处理文本的常量和类。 Python 版本:1.4 及以后版本 string 模块可以追溯到最早的 Python 版本。到了 2.0 版本,原先仅在这个模块中实现的很多函数则被移植为 str 和 unicode 对象的方法。仍然在遗留代码中使用这些函数,不过如今这些函数已经废弃,在 Python原创 2015-11-18 21:39:40 · 868 阅读 · 0 评论 -
[Python标准库]re——正则表达式[二]
[Python标准库]re——正则表达式模式语法 正则表达式支持更强大的模式,而不只是简单的字面量文本字符串。模式可以重复,可以锁定到输入中不同的逻辑位置,还可以采用紧凑形式表示而不需要在模式中提供每一个字面量字符。使用所有这些特性时,需要结合字面量文本值和元字符(metacharacter),元字符是 re 实现的正则表达式模式语法的一部分。# re_test_patt原创 2015-12-12 23:29:09 · 573 阅读 · 0 评论 -
[Python标准库]re——正则表达式[一]
[Python标准库]re——正则表达式 作用:使用形式化模式搜索和修改文本。 Python 版本:1.5 及以后版本 正则表达式(regular expression)是用一种形式化语法描述的文本匹配模式。模式被解释为一组命令,以一个字符串作为输入,生成一个匹配的子集或原字符串的修改版本。“正则表达式”一词在讨论中通常会简写为“regex”或原创 2015-12-11 23:00:52 · 506 阅读 · 0 评论 -
[Python标准库]weakref——对象的非永久引用
[Python标准库]weakref——对象的非永久引用 作用:引用一个“昂贵”的对象,不过如果不再有其他非弱引用,则允许垃圾回收器回收其内存。 Python 版本:2.1 及以后版本 weakref 模块支持对象的弱引用。正常的引用会增加对象的引用计数,避免它被垃圾回收。但并不总希望如此,比如有时可能会出现一个循环引用,或者有时可能要构建一个原创 2015-12-27 23:20:52 · 6527 阅读 · 0 评论 -
[Python标准库]re——正则表达式[三]
[Python标准库]re——正则表达式限制搜索 如果提前已经知道只需搜索整个输入的一个子集,可以告诉 re 限制搜索范围,从而进一步约束正则表达式匹配。例如,如果模式必须出现在输入的最前面,那么使用 match() 而不是 search() 会锚定搜索,而不必在搜索模式中显式地包含一个锚。import retext = 'This is some text -- w原创 2015-12-13 23:03:45 · 433 阅读 · 0 评论 -
[Python标准库]copy——复制对象
[Python标准库]copy——复制对象 作用:提供一些函数,可以使用浅副本或深副本语义复制对象。 Python 版本:1.4 及以后版本 copy 模块包括两个函数 copy() 和 deepcopy(),用于复制现有的对象。浅副本 copy() 创建的浅副本(shallow copy)是一个新容器,其中填充原对象内容原创 2015-12-28 22:36:28 · 1211 阅读 · 0 评论 -
[Python标准库]decimal——定点数和浮点数的数学运算
[Python标准库]decimal——定点数和浮点数的数学运算 作用:使用定点数和浮点数的小数运算。 Python 版本:2.4 及以后版本 decimal 模块实现了定点和浮点算术运算符,使用的是大多数人所熟悉的模型,而不是程序员熟悉的模型,即大多数计算机硬件实现的 IEEE 浮点数运算。Decimal 实例可以准确地表示任何数,对其上取整原创 2016-01-15 23:19:28 · 27098 阅读 · 0 评论 -
[Python标准库]fractions——有理数
[Python标准库]fractions——有理数 作用:实现了一个类来处理有理数。 Python 版本:2.6 及以后版本 Fraction 类基于 numbers 模块中 Rational 定义的 API,实现了有理数的数值运算。创建 Fraction 实例 与 decimal 模块类似,可以采用多种方式创建新值。一种原创 2016-01-15 23:24:54 · 3000 阅读 · 0 评论 -
[Python标准库]re——正则表达式[四]
[Python标准库]re——正则表达式搜索选项 利用选项标志可以改变匹配引擎处理表达式的方式。可以使用位或(OR)操作结合这些标志,然后传递至 compile()、search()、match() 以及其他接受匹配模式完成搜索的函数。 1. 不区分大小写的匹配 IGNORECASE 使模式的字面量字符和字符区间与大小写字符都匹配。im原创 2015-12-14 22:53:31 · 405 阅读 · 0 评论 -
[Python标准库]re——正则表达式[五]
[Python标准库]re——正则表达式前向或后向 很多情况下,仅当模式中另外某个部分也匹配时才匹配模式的某一部分,这可能很有用。例如,在 Email 解析表达式中,两个尖括号分别标志为可选。不过,实际上尖括号必须成对,只有当两个尖括号都出现或都不出现时表达式才能匹配。修改后的表达式使用了一个肯定前向(positive look-ahead)断言来匹配尖括号对。前向断言语法为原创 2015-12-15 23:16:14 · 494 阅读 · 0 评论 -
[Python标准库]random——伪随机数生成器
[Python标准库]random——伪随机数生成器 作用:实现了多种类型的伪随机数生成器。 Python 版本:1.4 及以后版本 random 模块基于 Mersenne Twister 算法提供了一个快速伪随机数生成器。原先开发这个生成器是为了向蒙特卡洛模拟生成输入,Mersenne Twister算法会生成有一个大周期的近均匀分布的数,原创 2016-01-17 23:37:38 · 7551 阅读 · 0 评论 -
[Python标准库]calendar——处理日期
[Python标准库]calendar——处理日期 作用:calendar 模块实现了一些类来处理日期,管理面向年、月和周的值。 Python 版本:1.4 版本,2.5 中做了更新 calendar 模块定义了 Calendar 类,其中封装了一些值的计算,如给定一个月或一年中的周几。另外,TextCalendar 和 HTMLCalenda原创 2016-01-13 22:10:21 · 1303 阅读 · 0 评论