文章分类 - Python
摘要:ipaddress模块的作用 ipaddress模块提供了一些类来验证、比较和处理IPv4/IPv6网络地址。 1、判断IP地址的类型 import binascii import ipaddress ADDRESSES = [ '10.9.0.6', 'fdfd:87b5:b475:5e3e:b1
阅读全文
摘要:difflib模块的作用 difflib模块是比较序列,包含一些计算和处理序列之间差异的工具。它对于比较文本是很有用的,其中函数可以使用多种常用的差异格式生成报告。 1、演示的数据 text1 = """Lorem ipsum dolor sit amet, consectetuer adipisc
阅读全文
摘要:re模块的作用 正则表达式是用一种形式化语法描述的文本匹配模式。模式会被解释为一组指令,然后执行这些指今并提供一个字符串作为输入,将生成一个匹配子集或者生成原字符串的一个修改版本。 1、查找文本中的模式,re.search() import re pattern = 'this' text = 'D
阅读全文
摘要:textwrap模块的作用 格式化文本段落,需要美观打印的情况下,可以使用textwrap模块格式化要输出的文本。它提供了很多文本编辑器和字处理器中都有段落自动换行或填充特性。 1、演示的数据 sample_text = ''' The textwrap module can be used to
阅读全文
摘要:string模块作用 string模块在最早的Python版本中就已经有了。以前这个模块中提供的很多函数已移值为str对象的方法,不过这个模块仍保留了很多有用的常量和类的处理str对象。 1、把字符串所有单词首字母变成大写 import string s = 'The quick brown fox
阅读全文
摘要:pprint 模块的作用 pprint模块包含 一个"格式化打印",用于生成数据结构的一个美观视图。格式化工具会生成数据结构的一些表示,不仅能够由解释器正确的地解析,便于人阅读。输出会尽可能放在一行上,分解为多行时会缩进。 1、准备演示打印的数据 data = [ (1, {'a': 'A', 'b
阅读全文
摘要:copy模块的作用 copy模块包括两个函数copy()和deepcopy(),用于复制现有的对象。 copy():是浅复制,一个新容器,其中填充原来内存对象的引用, 建立list对象的一个浅复制时,会构造一个新的list,并将原对象的元素追加到这个list。 deepcopy():是深复制,一个新
阅读全文
摘要:weakref模块的作用 weakref模块支持对象的弱引用。正常的引用会增加对象的引用数,并避免它被垃圾回收。但结果并不是如期望中那样,比如有时可能会出现一个循环引用,或者有时需要内存时可能要删除对象的缓存。弱引用是一个不能避免对象被自动清理的对象句柄。 1、对象的弱引用 import weakr
阅读全文
摘要:struct模块的作用 可以完成字节与原生Python数据类型(如数字和字符串)之间的转换 struct提供了一组处理结构值的模块级函数,另外还有一个Struct类。格式指示符将由字符串格式转换为一种编译表示,这与处理正则表达式的方式类似。这个转换会耗费一些资源,所以创建一个Struct实例并在这个
阅读全文
摘要:queue模块的作用 queue模块提供了一个适用于多线程编程的先进先出(FIFO)数据结构,可以用来在生产者和 消费者线程之间的安全地传递消息或其他数据。它会为调用者处理锁定,使多个线程可以安全而容易地处理同一个Queue实例。Queue的大小(其中包含的元素个数)有受限,以限制内存使用的或处理。
阅读全文
摘要:bisect模块作用: 维护有序列表 bisect模块实现了一个算法,向列表中插入元素,同时保持列表有序。 1、有序向列表插入元素 import bisect # A series of random numbers values = [14, 85, 77, 26, 50, 45, 66, 79,
阅读全文
摘要:heapq模块的作用 堆是一个树形的数据结构,其中子节点与父节点是一种有序关系。二叉堆:可以使用一个有组织的列表或数据表示,其中元素N的子元素位于2*N+1和2*N+2(索引从0开始)。这种布局允许原地重新组织堆,从而不必在增加或删除元素时重新分配大量内存。 最大堆:确认父节点大于或等于两个子节点。
阅读全文
摘要:array模块的作用 目的: 有效管理固定类型数值数据的序列。 array模块定义了一个序列数据结构,看起来与list很相似,只不过所有成员都必须是相同的基本类型。支持类型包括所有的数值类型或其他固定大小的基本类型(如字节)。 1、初始化 import array import binascii s
阅读全文
摘要:collections模块的作用 collections模块包含除内置类型list\dict\tuple以外的其他容器数据类型。 一、collections.ChainMap连接字典 1、搜索多个字典的示例 import collections a = {'a': 'A', 'c': 'C'} b
阅读全文
摘要:enum模块的作用 enum模块定义了一个提供迭代和比较功能的枚举类型。可以用这个模块为值创建明确定义符号,而不是使用字面量整数或字符串。 1、创建枚举 import enum class BugStatus(enum.Enum): new = 7 incomplete = 6 invalid =
阅读全文
摘要:contextlib模块的作用 用于处理上下文管理器和with语句,上下文管理器:负现管理一个代码块中的资源,会在处理代码块时创建资源,然后在退出代码块后清理这个资源。 例如:文件就是支持上下文管理器API,可以确认完成文件读写后关闭文件。 1、文件操作的with,使用到contextlib的示例
阅读全文
摘要:operator模块的作用 内置操作符的函数接口 使用迭代器编程时,有时需要为简单的表达式创建小函数。有些情况下,尽管这确认可以被实现为lambda函数,但某些操作根本不需要新函数。operator模块定义了一些函数,可以对应标准对象API中内置的算术,比较和其它操作。 1、逻辑操作示例 from
阅读全文
摘要:itertools模块的作用 itertools模块包括一组用于处理序列数据集的函数。它们的目的是快速、高效地使用内存,并且可以连接在一起来表达更复杂的基于迭代的算法。 基于迭代器的代码比使用列表的代码提供更好的内存消耗特征。由于数据在需要时才从迭代器生成,所以不需要同时将所有数据存储在内存中。这种
阅读全文
摘要:functools模块的作用 functools模块提供了一些工具来调整或扩展函数和其他callable对象,从而不必完全重写。 1、functools.partial,给函数默认传参,再使用函数一样的调用方式的示例 import functools def myfunc(a, b=2): '''
阅读全文
摘要:calendar模块的作用 calendar模块定义了Calendar类,其中封装了一些值的计算,如给定的一个月或一年中的周日期。另外,TextCalendar和HTMLCalendar类可以生成经过预格式化的输出。 1、指定年月,显示出日期 import calendar c = calendar
阅读全文