今天,小编来和大家分享一些Python自带的“内置函数”,所谓“内置函数”也就是不需要import导入就可以直接使用的那种,有不少的“内置函数”能够帮助我们减少不少的代码量,同时能够提高许多的效率,希望读者朋友们看过今天小编写的内容,能有收获!
01
enumerate
enumerate()函数用于将一个可遍历的数据对象(例如列表、元祖或者字符串)组合成一个索引序列,同时列出数据和数据下标,一般用在for循环
用法:enumerate(iterable, start = 0)
代码语言:javascript复制phones = ['Apple','Huawei','Xiaomi']
print(list(enumerate(phones)))
-----------------------------------------
[(0, 'Apple'), (1, 'Huawei'), (2, 'Xiaomi')]
02
zip
zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元祖,然后返回由这些元素组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用*号操作符,可以将元组解压成列表
用法:zip(*iterables)
代码语言:javascript复制numbers = [1,3,4,5]
characters = ['A','B','C','D']
zipped = zip(numbers,characters)
print(zipped)
print(list(zipped))
------------------------
<zip object at 0x000002340D93D048>
[(1, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]
03
map
map()函数会根据提供的函数对指定序列做映射,第一个参数function以参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的新列表
用法:map(function, iterable)
代码语言:javascript复制def square(n):
return n * n
numbers = [1, 4, 6, 8, 10]
result = list(map(square, numbers))
print(result)
----------------------------------
[1, 16, 36, 64, 100]
除了可以用于自己设定的函数之外,python内置的函数可以用到map()函数当中去,例如
代码语言:javascript复制numbers = [1.2335,5.6453,9.463,6.34]
round_numbers = list(map(round,numbers))
print(round_numbers)
-----------------------------------------
[1, 6, 9, 6]
04
Lambda
Python当中的lambda可以用来创建匿名函数,并且包含多个参数,但是函数体却比def简单很多
用法:lambda arguments:expression
代码语言:javascript复制square = lambda x: x*x
numbers = [1, 4, 6, 8, 10]
results = list(map(square, numbers))
print(results)
------------------------------------
[1, 16, 36, 64, 100]
05
filter
filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。其中接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
用法:filter(function, iterable)
代码语言:javascript复制numbers = [1,3,4,6,7,8,10,12]
check_even = lambda x:x%2==0
even_numbers = list(filter(check_even,numbers))
print(even_numbers)
------------------------------------------------
[4, 6, 8, 10, 12]
06
open
open()函数用于打开一个文件夹,并返回文件对象,在对文件进行处理过程中都需要使用到这个函数,如果该文件无法被打开,会抛出OSError问题。
用法:open(filename, mode, encoding, newline)
其中“mode”用于确定不同的方式来打开文件,有“r”代表只是读取文件,还有“w”模式也就是写入文件,“a”模式意味着追加模式等等
代码语言:javascript复制f = open('data.txt', mode='w')
07
ord
ord()函数以一个字符作为参数,返回对应的ASCII数值,或者Unicode数值
用法:ord(value)
代码语言:javascript复制print(ord('4')) # Specifying A Integer
print(ord('A')) # Specifying A Character
print(ord('/')) # Specifying A Special Character
--------------------------------
52
65
47
08
split
split()函数通过制定分隔符对字符串进行切片,
用法:str.split(separator, maxsplit)
参数maxsplit也就是分割的最大次数,默认是-1
代码语言:javascript复制print('I Love Python'.split())
-------------------------------------
['I', 'Love', 'Python']
text = "Apple, Huawei, Xiaomi, Oppo"
print(text.split(", ", 2)) ## 做了两次分割,其余的保留
-------------------------------------
['Apple', 'Huawei', 'Xiaomi, Oppo']
09
any和all
Python当中的any()函数用于判定给定的可迭代对象是否全部为False,则返回False,如果有一个为True,则返回True,而all()函数用于判断给定的可迭代参数对象中的所有元素是否都为True,如果是返回True,否则返回False
代码语言:javascript复制data = [True, True, False, False, False]
print(any(data))
print(all(data))
----------------------------
True
False
data = [True,True,True,True]
print(any(data))
print(all(data))
-------------------------------
True
True
10
os模块
Python当中的OS模块提供了丰富多样的功能来与操作系统进行交互,例如
代码语言:javascript复制import os
print(os.getcwd()) ## 打印出当前所处的目录
os.chdir('../') ## 改变目前所处的目录
os.mkdir() ## 在当前的目录再新建一个目录
os.listdir() ## 在当前的目录下罗列出所有的文件
os.remove(FILE_PATH) ## 删除文件
os.rename(FILE_PATH) ## 给文件重命名