day12 - 每日总结及作业

本文介绍了Python中的匿名函数,如lambda表达式,并探讨了变量的作用域,包括全局变量和局部变量。接着讲解了函数作为变量的概念,以及实参高阶函数的应用,如max、min、sorted和reduce函数,展示了如何使用这些函数配合普通函数或匿名函数实现特定操作。
摘要由CSDN通过智能技术生成

day12-匿名函数

匿名函数

匿名函数的本质还是函数,他们除了定义的语法不同,其他的东西都一样

语法:
lambda 形参列表:返回值

转换为普通:
def (形参列表):
return 返回值

sum2 = lambda num1,num2: num1+num2
print(sum2(20,30))

# 练习:写一个匿名函数判断指定的数是否是偶数,如果是返回True,否则返回False
a = lambda num1:num1 % 2 == 0
print(a(16))

# 练习2:写一个匿名函数判断指定的年是否是闰年,如果是返回True,否则返回False
b = lambda num2:num2%100 != 0 and num2 % 4 == 0 or num2 % 400 == 0
print(b(2000))

变量的作用域

变量的作用域

变量的作用域:变量定义以后可以使用的范围
根据变量作用域的不同我们将变量分为全局变量和局部变量两种

全局变量和局部变量

1) 全局变量
没有定义在函数和类里面的变量都是全局变量;
全局变量的作用域是从定义开始到程序结束
全局变量保存在全局的栈区间,全局栈区间在程序结束后才会自动释放

2)局部变量
定义在函数中的变量是局部变量,其中包括形参;
局部变量的作用域是从定义开始到函数结束
调用函数的时候系统会自动给这个函数创建一个临时栈区间用来保存在函数中产生的数据(包括局部变量)
当函数调用结束这个临时栈区间会自动释放

函数就是变量

  1. 在python中定义函数其实就是定义类型是function的变量,函数名就是变量名
    变量能干的事情函数都可以做

  2. 高阶函数:实参高阶函数、返回值高阶函数

实参高阶函数

常用的实参高阶函数:max、min、sorted(sort)、reduce

如果函数的参数是函数提供实参的方式:a.用普通的函数的函数名 b.使用匿名函数

常用的实参高阶函数

max、min、sorted、列表.sort

max(序列) - 求序列中值最大的元素
max(序列,key=函数) - 根据函数指定的规则获取序列中最大的元素
函数的要求:1)有且只有一个参数(这个参数代表序列中的元素)
2)有一个返回值(比较对象)

min(序列,key=函数) - 根据函数指定的规则获取序列中最小的元素
sorted(序列,key=函数) - 根据函数指定的规则对序列中的元素进行从小到大排序

# 练习:获取nums中绝对值最大的元素
nums = [29, 73, 64, -31, 68, 55, -76]
print(max(nums,key=lambda a:a if a>=0 else -a))
# 练习:获取points中y坐标最大的元素
points = [(19, 2), (0, 18), (3, 4)]
print(max(points,key=lambda a:a[-1]))
# 获取年龄最大的学生;获取成绩最高的学生
students = [
    {
   'name': 'stu1', 'age': 19, 'score': 72},
    {
   'name': 'stu2', 'age': 22
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值