python 模块
该专栏内容将介绍python的一些模块的功能,包含常用函数的介绍和示例。若发现错误,请您联系指正,谢谢~
meet2020
这个作者很懒,什么都没留下…
展开
-
python——autopep8模块
这是一个可以让python代码自动规范化的开源库,写好的python看着比较混乱,可以使用该库直接改善代码布局,提升可读性。也可以在IDE内(比如PyCharm)中预先配置该库的插件。PEP8python编程规范,是一种一致性的风格倡议,可以让代码看起来更整洁(当然,如果规范的规则破坏你原有整齐的风格,可以忽略它)。其中规则有:行限制的最大字符数为79每一级缩进使用4个空格导入通常在分开的行优先修改注释……PEP8 规范原文链接:官网 中文版autopep8首先记着安装该库:原创 2020-05-31 00:13:27 · 1266 阅读 · 0 评论 -
python——algorithms模块
今天介绍一个有趣的第三方模块——algorithms,它提供用Python实现的一些算法和数据结构及其操作,不是简单的基本操作哦。比如各种排序算法。主要目的是用来学习哈,不是生产和工作。若想知道模块中方法的源码可以在官网查阅,上面有详细的介绍,包括算法性能等:https://algorithms.readthedocs.io/en/latest/index.html模块安装方法:pip i...原创 2020-04-18 00:16:10 · 4662 阅读 · 0 评论 -
python——operator模块
该模块包括3个类和一些常见的运算操作等等。因为该模块是C语言编写的,所以其中方法的运算比直接用python编写要快。方法前后可以有双下滑线,和不带下划线等价,比如add和__add__。operator中的类可以生成模板,自定义顺序访问指定索引的值、指定属性或指定方法。常用类itemgetter生成一个可以从输入对象中获得固定索引的取值的可调用对象。比如:import operator...原创 2020-04-09 00:19:14 · 279 阅读 · 0 评论 -
python——queue模块
queue模块提供了队列这种数据结构,不必费时间自己去构建这类数据结构,比较方便。虽然我们可以基于python中的list数据结构,使用pop(0)和append方法实现普通的队列。但是queue模块中提供了更丰富队列的API,该模块主要提供三种队列:Queue、LifoQueue、PriorityQueue。Queue就是前面说的普通队列,先入先出(FIFO),有最大容量;LifoQueue类...原创 2020-03-27 22:38:13 · 226 阅读 · 0 评论 -
python——heapq模块
该模块可以实现堆,是python自带模块。当需要使用堆这种数据结构时,可以不必自己编写,直接调用该模块的api,比较方便。下面先简单介绍一下堆。堆(heap)堆是一种用数组实现的二叉树,具有以下特点:堆中每个节点的值总是不大于或不小于其父节点的值堆是一棵完全二叉树根节点最大的堆叫最大堆,根节点最小的堆叫最小堆。因为堆是完全二叉树,所以其实现方式不像树使用链式结构从父节点用指针指向...原创 2020-03-17 22:49:18 · 326 阅读 · 0 评论 -
python——math模块
该模块提供了由C语言标准定义的数学函数。还有一个模块叫cmath,其中定义的方法和属性与math模块基本相同,只是cmath适用于复数(complex)。常用属性名称值math.pi3.141592653589793math.e2.718281828459045math.infinfmath.nannanmath.tau6.2831853...原创 2020-03-15 23:34:24 · 179 阅读 · 0 评论 -
python——profile、line_profiler和memory_profiler模块
profile和line_profiler两个模块都是性能分析工具。有时候需要找到代码中运行速度较慢处或瓶颈,可以通过这两模块实现,而不再使用time计时。line_profiler模块可以记录每行代码的运行时间和耗时百分比。memory_profiler模块用来监控进程,记录每行代码的内存使用状况。profile是python自带性能分析模块。line_profiler和memory_pr...原创 2020-03-03 19:03:30 · 2924 阅读 · 0 评论 -
python——jieba模块
用于中文词语切分的库。切分模式有以下三种:全模式:返回句子中所有可能的词语,可重复使用字。精确模式:将句子精确划分成多个词语,字不能复用。搜索引擎模式:在精确模式的基础上近一步划分长词常用方法jieba模块中有Tokenizer类型,很多模块方法也是Tokenizer实例的属性。以下仅介绍常用方法(属性),实现切分中文字符串的功能。jieba还有其他有用的函数,比如load_userd...原创 2020-02-26 00:06:27 · 658 阅读 · 0 评论 -
python——hashlib模块
提供多种哈希算法的模块。哈希算法:又叫摘要算法,是一种给定输入计算出一种特殊的结果。哈希算法不可逆,比如输入一串字符串,输出一串奇怪的字符串,无法根据输出反向算出输入(除了暴力穷举破解)。哈希算法可以用于校验文件一致性,对多个文件使用相同的哈希算法,若得到的结果相同,则表示文件完全相同,没有丢失或修改数据。哈希算法有如下:md5sha1,sha224, sha256, sha384, s...原创 2020-02-23 23:48:19 · 217 阅读 · 0 评论 -
python——time模块
包括多种处理不同格式时间数据的函数。时间的标准表示形式有两种:一种是UTC(格林尼治标准时间GMT)表示,它可以是整数或浮点数(代表秒的分数)。在Unix上,通常是从1970年1月1日开始。另一种是使用包括9个整型数字的元组表示,其中整型数字及其取值范围如下:tm_year (比如1998)tm_mon (1-12)tm_mday (1-31)tm_hour (0-23)t...原创 2020-02-23 01:27:03 · 138 阅读 · 0 评论 -
python——fractions模块
包括分数的表达和计算。常用类Fraction类型支持基本内置运算,比如加、减、乘、除、绝对值、去上下界等。Fraction(numbers.Rational)#输入可以是一个小数、两个有理数(前者分子,后者分母)、字符型分数(分数线:'/')等。默认分子为0,分母为1。示例Fraction分子是numerator,分母是denominator,可以作为属性名分别查看。import...原创 2020-02-20 23:59:58 · 782 阅读 · 0 评论 -
python——decimal模块
专门处理浮点型数字的模块,其精度高于python的浮点数类型。0.1+0.1+0.1#输出:0.30000000000000004 python浮点型数不能精确存储常用类和方法decimal.Decimal(builtins.object)#输入可以是int,str、tuple或其他Decimal对象。若无输入,返回Decimal('0')decimal.getcontext()...原创 2020-02-20 23:58:39 · 937 阅读 · 0 评论 -
python——collections模块
该模块实现了专门的数据类型,为Python内置数据类型dict、list、set和tuple提供了替代方案。常用类和方法collections模块内包括很多类,因为这些类分别继承了内置类型,所以除了新定义的方法外,还能使用超类的方法。常见类有四个,deque生成一个双向队列,可以高效的在首尾增删元素;defaultdict建立有默认键值的字典,普通字典若检索不存在的键会报错;OrderedD...原创 2020-02-15 01:41:37 · 111 阅读 · 0 评论 -
python——shelve模块
一种简单的持久化存储方式,将数据存储至磁盘。产生类似字典的对象。比pickle,json模块简单。常用函数模块包含方法只有一个open,用来打开指定文件,可读可写,返回对象类似字典。打开的文件后缀名是***.db**,输入时可不必输入后缀名。shelve.open(filename, flag='c', protocol=None, writeback=False)#flag是文件打开模式...原创 2020-02-14 01:19:42 · 146 阅读 · 0 评论 -
python——copy模块
包括深拷贝和浅拷贝操作的模块。首先要分清变量和对象的概念,python中的变量类似指针,指向各个对象。比如a=2,是有一个名为a的变量指向了2这个对象;x=[1,2,3]中变量x指向对象[1,2,3]。然后,在python中,int、float、str、tuple和bool等都是不可变对象,list、set和dict是可变对象。可变对象可以原地修改,而不可变对象不能原地修改。指向不可变对象的...原创 2020-02-13 01:31:02 · 444 阅读 · 0 评论 -
python——json模块
JSON(JavaScript Object Notation) 是一种轻量级的通用数据交换格式,起源于JavaScript,现在其他语言都能读写,可跨平台,用于数据存储,易于阅读,形式类似python的字典。json模块和pickle模块包括的方法相同,功能类似。json和pickle主要不同在于:json是序列化的通用格式,其他编程语言都可以读写,人类可读,但是pickle对象仅限于pyth...原创 2020-02-11 23:38:12 · 86 阅读 · 0 评论 -
python——os模块
os:operating system包括系统和目录的操作函数,可以让python访问操作系统。os模块包括子模块path,主要用于获取文件的属性。因为os和os.path模块包含函数及属性较多,本文仅列举部分,直接通过举例介绍函数功能。原创 2020-02-11 14:56:22 · 84 阅读 · 0 评论 -
python——glob模块
目录文件名查找模块。在查找路径中使用通配符,可以找到满足指定条件的所有文件路径名。常用函数该模块包括3个函数,glob用于一次性返回指定路径匹配的文件名;iglob和glob功能一样,同样查找匹配的文件名,但是返回对象是迭代器,即每次输出一个;escape在路径中选出*、?、[ 符号。glob.glob(pathname, *, recursive=False) -> list...原创 2020-02-09 23:42:57 · 201 阅读 · 0 评论 -
python——calendar模块
包括日历、日期相关函数。常用函数calendar模块有较多函数,此处仅列举常用函数。calendar返回指定年的日历字符串;month返回指定年月的日历;weekday返回指定日期是星期几;isleap判断指定年是不是闰年;leapdays返回指定年限内闰年的数量。calendar.calendar(year,w=2,l=1,c=6,m=3) -> string (multi-line...原创 2020-02-09 20:40:14 · 344 阅读 · 0 评论 -
python——itertools模块
包括创建和使用迭代器的函数。迭代器是可以记录遍历位置。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。常用函数itertools模块包括较多关于迭代器创建、合并、切分等操作的函数,这里介绍如下几个。permutations生成一个迭代对象的全排列; chain连接多个列表或者迭代器;cycle对输入对象生成循环迭代对象;count基于给定初值和步长...原创 2020-02-09 20:39:29 · 259 阅读 · 0 评论 -
python——struct模块
在Python和C结构之间转换的函数,用于二进制数据存储和处理,处理c语言中的结构体。常用函数包括如下三个,pack将数据封装成字节流;unpack根据给定格式解析字节,返回tuple类型; calcsize返回给定的格式占用内存的字节数。原创 2020-02-09 20:38:44 · 221 阅读 · 0 评论 -
python——random模块
包括生成随机对象的函数。常用函数部分函数具体介绍和示例见下文。randint返回随机整数;uniform和random返回随机浮点数;choice、sample和randrange从原序列中随机选择元素并返回;shuffle打乱原输入列表的顺序。random.randint(a,b)#随机返回[a,b]间的一个数,包括a和brandom.randrange(start, stop=No...原创 2020-02-09 20:34:23 · 160 阅读 · 0 评论 -
python——pickle模块
创建Python数据对象的二进制序列化表示,用于存储python对象,可以存于文件或变量中。使用pickle模块存储处理的对象可以是任何python数据类型、函数、类。特点:pickle存储数据或对象,操作简单,可靠持久存储,但是数据转化后特定于python使用,无法直接阅读。原创 2020-02-09 20:32:50 · 242 阅读 · 0 评论