Python_匿名函数和高阶函数

匿名函数: 就是没有名字的函数,直观理解使用lambda关键字定义的函数称为匿名函数
学习匿名函数的目的: 通过匿名函数可以简化普通函数的代码实现,匿名函数可以让的代码变的更少
匿名函数的注意点:1. 匿名函数也是属于函数,调用匿名函数的时候也需要加上小括号2. 匿名函数只能一行代码3. 匿名函数的返回值不需要加return关键字

匿名函数的语法格式:lambda 形参1, 形参2,...: 返回的数据或者调用其他函数

使用new_func这个变量,保存定义好的匿名函数,此时new_func其实可以认为是函数名
new_func = lambda x, y: x + y
调用匿名函数
value = new_func(1, 2)
print("结果为:", value)
扩展:
def sum_num(num1, num2):
    result = num1 + num2
    return result
可以给函数设置别名
my_func = sum_num

result = my_func(1, 2)
print(result)

print("查看函数的类型sum_num:", type(sum_num))
print("查看函数的类型new_func:", type(new_func))
匿名函数主要是来简化函数代码的,不能实现复杂的功能,比如: 实现for循环就不能用匿名函数来完成

扩展: 没有参数的匿名函数
new_func1 = lambda: print("我是么有参数的匿名函数")
new_func1()
匿名函数的应用场景:1. 简化函数的功能代码2. 匿名函数可以作为参数给另外一个函数使用,后续高阶函数经常结合匿名函数来使用,目的:简化函数代码
func: 接收一个用于计算的函数
def calculate_value(func):

    num1 = 1
    num2 = 2

    假如:实现加法操作,给我一个加法操作的函数,。。。。
    result = func(num1, num2)
    print(result)

def add_num(v1, v2):
    return v1 + v2
这样写,为了穿一个函数,需要自己显示定义一个普通函数
calculate_value(add_num)
对以上代码进行简化,使用匿名函数作为参数给另外一个函数使用
calculate_value(lambda v1, v2: v1 + v2)
calculate_value(lambda v1, v2: v1 - v2)
总结: 匿名函数可以作为参数给另外一个函数使用,并且还能简化代码函数也是能够作为参数给其他函数使用的

原文地址:https://www.cnblogs.com/tracydzf/p/12368793.html

时间: 2024-07-31 10:08:35

Python_匿名函数和高阶函数的相关文章

Python 学习笔记 -- 内嵌函数、闭包、匿名函数、高阶函数map、高阶函数filter、高阶函数reduce

1 #------------------------------内嵌函数------------------------------ 2 #内嵌函数就是在函数内部定义函数 3 #实例一 4 print("#------------------------------内嵌函数------------------------------") 5 def funOutOne(): 6 x = 5 7 def funIn(): 8 x = 3 9 print("My funOutO

8-[函数]-嵌套函数,匿名函数,高阶函数,递归函数

1.嵌套函数 (1)多层函数套用 name = "Alex" def change_name(): name = "Alex2" def change_name2(): name = "Alex3" print("第3层打印", name) change_name2() # 调用内层函数 print("第2层打印", name) change_name() print("最外层打印",

Python函数,匿名函数,高阶函数,内置函数——08

函数 当一个函数的返回值是另一个函数的函数名时,只是返回该函数的内存地址,该函数的作用域不会发生改变. name = 'winsodm' def test(): name = 'xl' print('in the test') def test1(): print('in the test1') return test res = test1() res() #结果是: name = 'xl' 'in the test' #这里返回的test 之后运行 还是输入test里的变量name的值,而不

python学习笔记之函数总结--高阶函数以及装饰器

python学习笔记之函数总结--高阶函数以及装饰器 Python特点: 1.不是纯函数式编程(允许变量存在): 2.支持高阶函数(可以传入函数作为变量): 3.支持闭包(可以返回函数): 4.有限度的支持匿名函数: 高阶函数: 1.变量可以指向函数: 2.函数的参数可以接收变量: 3.一个函数可以接收另一个函数作为参数: 下面我将示例一些函数的写法以及使用,并说明python中函数的特性: 1.基本的高阶函数示例: #!/usr/bin/env python def func():      

函数-内置函数,匿名函数,嵌套函数,高阶函数,序列化

函数简单说明 # 函数即"变量" # 高阶函数 # a.把一个函数名当做实参传给另一个函数(在不修改被装饰函数的源代码的情况下,为其添加功能) # b.返回值中包含函数名(不修改函数的调用方式) ''' import time def bar(): print("in the bar!") time.sleep(2) def foo(func): start_time = time.time() func() #根据内存地址,执行代码 stop_time = tim

Day3-递归函数、高阶函数、匿名函数、内置函数

一.递归函数 定义:函数内部可以调用其它函数,如果调用自身,就叫递归. 递归特性: 1.必须有结束条件退出: >>> def calc(n): ... print(n) ... return calc(n+1) ... >>> calc(0) 0 1 ... 998 RecursionError: maximum recursion depth exceeded while calling a Python object 分析: 没有结束条件,超过最大递归次数999次后

[ python ] 匿名函数和高阶函数

匿名函数 描述:    关键字 lambda 定义的函数    语法: 函数名 = lambda 参数:返回值 返回值:    函数返回结果值 实例: 一个参数的匿名函数: func = lambda x: x*x f = func(2) print(f) # 执行结果: # 4 多个参数的匿名函数: func = lambda x, y: x+y f = func(1, 2) print(f) # 执行结果: # 3 高阶函数 (1)map 描述:    map()会根据提供的函数对指定序列做

js里常用函数之高阶函数

高阶函数:将函数作为参数或者返回值的函数.将函数作为参数的用法通常称作回调函数,函数参数通常会在主函数被执行之后被高阶函数调用. 高阶函数的使用实例.可以把有相似操作的函数用一个高阶函数来重构,精简代码 如有一个比较函数:compareNumbers 1 function compareNumbers(x, y){ 2 3 if(x > y){ 4 5 return -1; 6 7 }else{ 8 9 return 1; 10 11 } 12 13 return 0; 14 15 } 16 1

函数之高阶函数

1:函数可以赋值给一个变量名字 ,函数参数能接收变量 这个函数也可以接收另一个函数的函数名作为参数,那么这就是一个高阶函数ef func1(): print('老王好帅!')def func2(ff): ff() return '老王媳妇好美!'print(func2(func1)) 2:一个函数可以接收一个或者多个函数 #一个函数接收一个或者多个函数名作为参数又或者返回一个函数 这样的函数也是高阶函数 1:def func(x, y): return x+ydef calc(x): retur