当前位置: 首页 > 科技观察

初学者必读!十大被低估的Python库!

时间:2023-03-14 21:51:20 科技观察

大家在学习python的过程中就会明白,python的一个强大功能就在于各种强大的第三方库函数。你只需要通过pipinstall安装我们需要的库函数即可。高手往往只关注自己安装的python库,而忽略了python自带的库函数,或者python自带的库。与功能。1、CounterCounter的主要用途从名字就可以看出来。它用于计数统计。在做数据分析或者统计的时候,我们经常需要用到计数,Counter会帮助我们写出更简洁的代码。如下所示。在上面的程序中可以看出,使用Counter可以用简单的两行程序完成字符统计,还可以进行排序和输出操作,大大简化了代码。2.NamedTuplenametuple继承tuple类。使用nametuple可以创建类对象,并且该对象具有可访问的属性。这有什么用?我们用下面的程序来解释。在上面的程序中,评论的第一个程序没有使用nametuple,当features的特征数量过多时,当我们想要使用其中的一个或部分时,我们不容易获取到的索引功能,带来不必要的麻烦。当我们使用nametuple时,我们可以很方便地通过特征名来访问特定的数据特征。3.DefaultDictDefaultdict是一个有默认初始值的字典。当我们访问defaultdict的键值不存在时,它会返回默认值,如下程序所示:在程序中,我们创建了一个int类型的defaultdict,当我们要在字典中存储“python”时,dict会报错,defaultdict会有一个初始化的默认值0,这样我们就可以方便的通过键值来存值了。这里我们创建了一个int类型的defaultdict,所以默认初始值为0。当我们创建一个list的defaultdict时,默认初始值为一个空列表。4、GlobGlob模块主要用于匹配指定路径下的文件信息,并以列表的形式返回匹配到的文件的绝对路径,如下图所示:在程序中,我们匹配了所有的jpg和png在路径图像下并返回它们的绝对路径。5、MathMath模块是python自带的一个简单的数学函数模块,包括指数、对数、正弦、余弦等函数。6.ArgparseArgparse模块的使用,一方面可以让我们编写命令行界面,极大的美化了我们的程序,让我们的程序看起来更加美观,另一方面也让我们修改程序更加方便。在上面的程序中,我们定义了两个参数a和b,并规定它们必须是输入的,argparse会自动解析我们输入的数据并转换成指定的类型(int),然后将我们主程序的两个数相加,并输出结果。这里只是简单的给大家展示一下argparse的功能,其强大的魅力需要在大量的程序中才能体现出来。7.Copy对于copy模块,主要涉及到浅拷贝和深拷贝的内容。这里需要了解一下浅拷贝和深拷贝的区别。对于深拷贝,无论是可变对象还是不可变对象,都是创建的。新建变量,但是对于浅拷贝,就比较复杂了,如下图:这里我们用程序来解释上图,如下图:如上图,对于不可变对象,浅拷贝只是拷贝相同的地址被赋予复制的对象。但是当我们修改simple_str的值的时候,copy_simple_str并没有改变,这是因为字符串是不可变类型,所以修改simple_str的值,编译器会开辟一个新的空间,保存simple_str原来的值,让copy_simple_str指向给它。对于复杂变量类型,从结果可以看出它的子对象没有被完全复制,所以修改copy_complex_dict也会修改complex_dict中的子对象。8.itertoolssitertools模块包含了很多有用的迭代器函数,熟练使用它们可以大大提高工作效率。在这里,小编简单举几个itertools的使用例子:上面的程序中,使用permutations生成所有的排列组合,count函数结合zip生成序号。需要注意的是这里的permutations和count生成迭代器,可以大大节省内存空间。9.enum在python中,enum模块也实现了对枚举类型的支持。在枚举集合中,枚举成员应该是唯一且不可变的。在上图中,我们定义了一个Week枚举类,然后通过这个类来计算今天之后应该是星期几。10.calendar日历模块,用于处理日历相关的功能。比如我们最常见的判断是现在是不是闰年。日历只需要一行程序就可以帮助我们完成计算:在上面的程序中,我们使用日历输出是否是闰年,以及打印日历,判断星期等,使用日历就可以实现处理日历问题事半功倍。以上10个python模块是python自带的非常有用的模块,但是在你的日常编程中很少用到。通过小编的讲解,希望大家能够更多的了解python自带的强大模块。以后在编程中不断优化自己的程序。