221010 Python学习:匿名函数、高阶函数、常见实参高阶函数、迭代器、生成器

本文介绍了Python中的匿名函数、高阶函数的定义和常见实参高阶函数如max、min、sorted的用法。接着详细讲解了迭代器的概念、创建和获取元素的方法,以及生成器的特性、创建方式和控制生成数据的机制。
摘要由CSDN通过智能技术生成

221010 Python学习:匿名函数、高阶函数、常见实参高阶函数、迭代器、生成器

一、匿名函数

1)匿名函数:本质还是函数(除了定义函数的语法以外的函数相关内容都适用匿名函数 )
  1. 语法:

    函数名 = lambda 形参列表: 返回值(返回值后面只能写一条语句)

  2. 相当于:(普通函数)

    def 函数名(形参列表):

    ​ return 返回值

    # 案列 :用匿名函数求任意两个数的和
    sum1 = lambda num1, num2 = 10:num1 + num2
    
    print(sum1(10, 20))		# 30
    print(sum1(100, 200))	# 300
    print(sum1(200))		# 210
    
    # # 案例:写一个匿名函数求任意三个整数的个位数的和
    sum2 = lambda num1, num2, num3: num1 % 10 + num2 % 10 + num3 % 10
    
    print(sum3(13, 234, 31))		# 8
    

二、高阶函数和常见实参高阶函数

1)高阶函数定义

**高阶函数:**实参高阶函数和返回值高阶函数

  • 实参高阶函数:参数是函数的函数

    # x必须是不需要传参就可以调用的函数
    def func5(x):
        # x = t1
        print(x())
    def t1():
        print('abc')
    
    func5(t1)		# abc    t1是func5的参数,t1是个函数
    
    
    # x必须是一个可以接受实参的函数,并且函数的返回值是数字
    def func6(x):
        print(x(10, 20) + 30)    
    def t2(num1, num2):
        return num1 * num2
    
    func6(t2)		# 230	
    
  • 返回值高阶函数:返回值是函数的函数

    # func7是返回值高阶函数
    def func7():
        def func8():
            print('abc')
        return func8()
    
2)函数的参数的确定方式
# x可以任何数据
def func1(x):
    print(x)

# x可以传整数、浮点数、布尔、列表、字符串、元组
def func3(x):
    print(x * 2)

# x可以传列表、字符串、元组、字典(其中有一个键是1)
def func3(x):
    print(x[1])

# x只能传列表
def func4(x):
    print(x.append(100))
3)常见的实参高阶函数🔺

注意:函数的参数如果是函数,提供实参的方式有两种:1.直接使用匿名函数;2.使用普通函数的函数名。

  1. max、min、sorted(sort)

    • 以max为例:

      • max(序列) — 直接比较序列中元素大小求最大值(常见的普通用法)

      • max(序列, key=函数) — 根据函数指定的比较规则,比较序列中元素的大小获取最大值

      • 函数要求:

        有且只有一个参数(代表序列中的每个元素)

        需要一个返回值(返回值代表比较对象 :将参数看成列表中的元素,返回值对应的位置描述清楚比较对象和元素之间的关系)。

    # 1) 求nums中值最大的元素
    nums = [19, 23, 90, 34, 56, 78]
    print(max(nums))
    
    # 2) 求nums中个位数最大的元素
    nums 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值