分享10个常用的Python内置函数,可以极大的提高效率哦!!

2021-07-19 14:08:14 浏览数 (1)

今天,小编来和大家分享一些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)     ## 给文件重命名

0 人点赞