Python编程 匿名函数,高阶函数

  • 作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

 前言

一.匿名函数

1.匿名函数介绍

匿名函数应用

匿名函数作返回值

匿名函数作实参

例子

高阶函数


 前言

本章将会讲解Python编程中的匿名函数.了解用法。


一.匿名函数

1.匿名函数介绍

匿名函数指一类无须定义标识符的函数或子程序。Python用lambda语法定义匿名函数,只需用表达式而无需申明。

在python中,不通过def来声明函数名字,而是通过 lambda 关键字来定义的函数称为匿名函数。

lambda函数能接收任何数量(可以是0个)的参数,但只能返回一个表达式的值,lambda函数是一个函数对象,直接赋值给一个变量,这个变量就成了一个函数对象。

语法lambda x:x*x
自定义函数
 def f(x):
     return x * x


 print(f(3))


 lambda 形参:返回值
 f = lambda x, y: x * y
 print(f(2, 5))


 from functools import reduce
 print(reduce(lambda x, y: x*y, range(1,7)))

匿名函数应用

匿名函数作返回值

 # 匿名函数作为返回值
 def fx(i, j):
     # 返回的匿名函数
     return lambda :i*j


f = fx(6, 6)    # lambda :i*j
print(f())      # 函数只有在调用时才会执行


匿名函数作实参

 匿名函数作为实参
 def test(a, b, func):
     res = func(a, b)    # 11 + 22
     return res


 nums = test(11, 22, lambda x,y:x+y)
 print(nums)

例子

将 lis = [4,-2,3,1] --> [1,-2,3,4]
infors = [{'name':'qian' , 'age':28},{'name':'amy' , 'age':20},{'name':j
ames' , 'age':25}]
以name对应的值进行排序
[4,-2,3,1] --> [1,-2,3,4]
# [4,2,3,1] --> [1,2,3,4] --> [1,-2,3,4]
li = [4, -2, 3, 1]

# key:指定排序规则,排序之后返回原元素
li.sort(key=abs)
print(li)

高阶函数

高阶函数的概念

高阶函数的英文名叫 Higher-Order Function.

高阶函数需满足以下二个条件:

  1. 本身是一个函数
  2. 参数是函数

定义:一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数

高阶函数需满足条件:
函数名 作为 参数传入
函数名 作为 返回值

  创作不易,求关注,点赞,收藏,谢谢~ 

猜你喜欢

转载自blog.csdn.net/yj11290301/article/details/128486558