学习Python必须要知道的4个内置函数

86 阅读2分钟

pass

用法举例 :  将列表li中的数值都加1,  li = [1,2,3,4,5]

'''

遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

'''

li = [1,2,3,4,5]

def add1(x):

return x+1

res = map(add1, li)

print(res)

for i in res:

print(i)

结果:

<map object at 0x00000042B4E6D4E0>

2

3

4

5

6

2、lambda表达式

是一个表达式,可以创建匿名函数,冒号前是参数,冒号后只能有一个表达式(传入参数,根据参数表达出一个值)

nl = lambda x,y:x*y # 给出x,y参数,计算出x和y的相乘

print(nl(3,5))

print('-----')

#和map的结合

li = [1,2,3,4,5]

for i in map(lambda x:x*2, li):

print(i)

结果:

15


2

4

6

8

10

3、Pool

1、多进程,是multiprocessing的核心,它与threading很相似,但对多核CPU的利用率会比threading好的多

2、可以允许放在Python程序内部编写的函数中,该Process对象与Thread对象的用法相同,拥有is_alive()join([timeout])run()start()terminate()等方法

3、multiprocessing包中也有Lock/Event/Semaphore/Condition类,用来同步进程

传统的执行多个函数的例子

import time

def do_proc(n): # 返回平方值

time.sleep(1)

return n*n

if name == 'main':

start = time.time()

for p in range(8):

print(do_proc(p)) # 循环执行8个函数

print("execute time is " ,time.time()-start)

结果:

0

1

4

9

16

25

36

49

execute time is 8.002938985824585

使用多进程执行函数

'''

遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

'''

import time

from multiprocessing import Pool

def do_proc(n): # 返回平方值

time.sleep(n)

print(n)

return n*n

if name == 'main':

pool = Pool(3) # 池中最多只能放三个任务

start = time.time()

p1 = pool.map(do_proc, range(8)) # 跟python的map用法相似(map连续生成8个任务的同时依次传给pool,pool依次调起池中的任务,执行完的任务从池中剔除)

pool.close() # 关闭进程池

pool.join() # 等待所有进程(8个进程)的结束

print(p1)

print("execute time is ", time.time() - start)

结果:

0

1

2

3

4

5

6

7

[0, 1, 4, 9, 16, 25, 36, 49]

execute time is 3.3244528770446777

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

了解详情:docs.qq.com/doc/DSnl3ZG…