欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > D42【python 接口自动化学习】- python基础之函数

D42【python 接口自动化学习】- python基础之函数

2024/10/26 1:29:19 来源:https://blog.csdn.net/tian_nx/article/details/143078213  浏览:    关键词:D42【python 接口自动化学习】- python基础之函数

 day42 高阶函数

学习日期:20241019

学习目标:函数﹣- 55 高阶函数:函数对象与函数调用的用法区别

学习笔记:

函数对象和函数调用

# 函数对象和函数调用
def foo():print('foo display')# 函数对象
a =foo
print(a) # <function foo at 0x0000021E33CA5E40>
# 函数调用
a() # foo display
高阶函数

map函数

# map高阶函数
# 方式一:循环指定范围的值,计算自身的两倍值
def add(number):return (number+number)for i in map(add,range(5)):print(i)# 执行结果 0 2 4 6 8
# 执行过程
# range(5)-- 0 1 2 3 4
# map(add,range(5))--0 2 4 6 8(range中的值先作为add函数参数,调用add函数返回值,再输出)# 方式二:循环指定范围的值,计算自身的两倍值,并转换为列表
print(list(map(lambda x:x+x,range(5)))) # [0, 2, 4, 6, 8]
filter函数

# filter 高阶函数
# lambda x:x>0 如果x>0返回true,否则返回false,不输出
# filter(lambda x:x>0,(-2,-1,1,2))
for i in filter(lambda x:x>0,(-2,-1,1,2)):print(i)
# 执行结果--1 2
reduce函数

# reduce 高阶函数
from functools import reduce
print(reduce(lambda x,y:x+y,[1,2,3,4,5])) # 15
偏函数

# 偏函数
# 十进制   0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# 十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F 10
# 使用偏函数,生成一个十六进制函数
from functools import partial
int_16 =partial(int,base=16)print(int_16('0f')) # 15# 使用偏函数,生成一个可直接调用的open函数
wopen=partial(open,mode='w',encoding='utf-8')
wopen('a.txt') # 等同于 open('a.txt',mode='w',encoding='utf-8')
总结
  1. 函数对象本身是可以作为参数或返回值
  2. 函数参数是函数自身的标签,可以赋值给其他对象
  3. 函数参数如果使用了其他函数对象,一般称为高阶函数
  4. 系统内置的高阶函数有map(),filter(),reduce()
  5. 常用的偏函数可以固定函数的参数,形成更方便的自定义函数

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com