6个非常有用的基础 Python 函数
引言
通常我们认为,使用python需要依赖大量的依赖库,python本身并不擅长处理任何事情。但恰恰相反,python有大量非常有用的基础函数,掌握这些使用技巧,可以大大减少我们的时间,使编程在python中变得更加容易。
1. Lamba
lambda可以通过使用表达式求值(而不是整个函数)将数学运算应用于任何数据类型。这将会使得程序编写变得更加简单,甚至不需要一个完成的函数。甚至可以在一个全局范围内定义它们,并通过类似函数式的方法进行调用。例如:
mean = lambda x : sum(x) / len(x)
现在我们可以像调用Python中的任何方法一样调用它:
x = [5, 10, 15, 20]
print(mean(x))
2. Shutil
Shutil模块是Pythonic中最被低估的工具之一。与本文中的其他模块一样,它也包含在标准库中,并且可以像如下方式轻松导入:
import shutil
Shutil模块是操作系统上文件系统 Python 的高级接口。虽然这些调用通常是使用 os 模块进行的,但很少人知道的是 shutil 模块,我认为应该更经常地使用它。你有多少次需要用脚本快速地将一个文件从一个目录移动到另一个目录,并且为了完成这项工作而不得不做一大堆冗长乏味的工作?使用Shutil可以轻松解决这个问题:
import shutil
shutil.copyfile('mydatabase.db', 'archive.db')
shutil.move('/src/High.py', '/packages/High')
3.Glob
虽然glob模块可能没有shutil那么酷,或者在一般意义上也没有Lambda那么有用,但是该模块在某些情况下仍然非常有用。glob模块用于在目录中搜索通配符。这意味着它可以用于聚合有关存储在计算机上的文件和文件扩展名的数据。
import glob
glob.glob('*.ipynb')
这将返回与glob搜索找到的文件相对应的文件名列表。
4.import re
到目前为止,re模块被严重低估了。re中的“R”和“E”是正则表达式的缩写。re模块用于用正则表达式解析字符串,并为在Python中处理字符串提供更多选项。
下面两个例子将让我们了解正则表达式的魅力:
import re
re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest')
['foot', 'fell', 'fastest']
re.sub(r'(\b[a-z]+) \1', r'\1', 'cat in the the hat')
'cat in the hat'
5.datetime
时间戳是我们疆场要遇到的,甚至是训练模型的一个重要特征。使用datetime可以更加方便快捷的处理时间戳。
我们可以构造日期时间类型,并使用典型的日期时间语法和诸如年、月和日之类的属性。这对于重新格式化、解析和处理数据中日期的各个部分非常有用。
import datetime as dt
now = dt.date.today()
print(now.year)
print(now.month)
6.Zlib
zlib模块是用来压缩或者解压缩数据,以便保存和传输。它是其他压缩工具的基础。zlib模块是使用Python压缩数据的全面解决方案。这是非常方便的,特别是在完全自动化的情况下。
import zlib
在zlib模块中,最重要的函数可能是compress()和decompress()。使用这些函数,我们可以看到数据类型的压缩:
h = " Hello, it is me, you're friend Emmett!"print(len(h))
t = zlib.compress(h)
print(len(t))
z = decompress(t)
print(len(z))
总结
虽然在Pythonic编程中经常会出现对依赖关系的高度依赖,但是Python标准库中也有一些非常简洁的工具!许多这样的工具可以通过为复杂的任务创建一个与编程语言本身打包在一起的高级接口来快速地节省大量的时间。而且也不需要pip安装任何软件包,十分的方便!
本文只是简单的介绍了这些基础函数,如果大家感兴趣,可以深入了解它们,感受python的魅力!