函数—匿名函数

定义

匿名函数:就是使用 lambda 关键字定义的函数
一般称为使用def 关键字定义的函数为:标准函数

匿名函数只能书写一行代码
匿名函数的返回值不需要 return,一行代码(表达式)的结果就是返回值

语法

 lambda 参数:一行代码
 
 # 匿名函数一般不需要我们主动的调用,一般是作为函数的参数使用
 # 我们在学校阶段为了查看匿名函数定义是否正确,可以调用
    1、 在定义的时候,将匿名函数的引用保持到一个变量中
        变量 = lambda  参数:一行代码
    2、使用变量进行调用
        变量()

代码

# 1、无参无返回值函数
def func1():
    print('hello world')


func1()
# lambda : print('hello lambda')  # 匿名函数的定义
func11 = lambda: print('hello lambda')  # 波浪线的意思是:不要对lambda 表达式赋值,使用def
func11()


# 2、无参有返回值
def func2():
    return 10


print(func2())
func22 = lambda : 10
print(func22())


# 3、有参无返回值
def my_sum(a, b):
    print(a + b)


my_sum(1, 2)
my_sum11 = lambda a, b: print(a + b)
my_sum11(10, 20)


# 4、有参有返回值
def func4(a, b):
    return a + b


print(func4(1, 2))  # 相当于 num = func4(1, 2) print(num)
func4 = lambda a, b: a + b
print(func4(10, 20))

匿名函数练习

1、定义一个匿名函数可以求两个数的乘积
2、定义一个匿名函数,参数作为字典,返回字典中键为 age 的值

# 匿名函数练习
# 1、定义一个匿名函数可以求两个数的乘积(参数需要两个)
func1 = lambda a, b: a * b

# 2、定义一个匿名函数,参数作为字典,返回字典中键为 age 的值
# 参数只是一个占位的作用,定义的时候没有具体的数据值,形参的值是在调用的时候进行传递,此时,形参才有数据值
# 形参的类型就是由实参来决定的,在函数定义的时候,参数只是一个符号,写什么都可以,想让其是字典类型,只需要保证实参是字典即可
func2 = lambda x: x.get('age')
func3 = lambda x: x['age']

print(func1(1, 2))
print(func1(3, 2))
my_dict = {'name': '张三', 'age': 18}
print(func2(my_dict))
print(func3(my_dict))

匿名函数作为函数的参数—列表中的字典排序

 user_list = [
 {"name": "zhangsan", "age": 18}, {"name": "lisi", "age": 19}, {"name": "wangwu", "age": 17},
 ]
 
 列表排序():     # (对列表中的数字排序)
 列表.sort()  # 升序
 列表.sort(reverse=True)    # 降序
 列表中的内容都是字典,想要排序
# 匿名函数作为函数的参数—列表中的字典排序
user_list = [
     {"name": "zhangsan", "age": 18},
     {"name": "lisi", "age": 19},
     {"name": "wangwu", "age": 17}
]

# user_list.sort()
# 列表的排序,默认是对列表中的数据进行比大小的,可以对 数字类型和字符串进行比大小
# 但是对于字典来说,就不知道该怎么比大小,此时,我们需要使用 sort 函数中的 key 这个参数,来指定字典比大小的方法
# key 这个参数,需要传递一个函数,一般是匿名函数,字典的排序,其实要指定根据字典的什么键继续排序,我们只需要使用匿名函数返回字典的这个键对应的值即可
# 列表.sort(key = lambda x: x['键'])
# 根据年龄排序
# user_list.sort(key = lambda x: x['键'])
user_list.sort(key=lambda x: x['age'], reverse = True)
print(user_list)

# user_list.sort(key=lambda x: x['age'])
# 说明:匿名函数中 的参数是 列表中的数据,在sort 函数内部,会调用 key 这个函数(将列表中某个数据作为实参传递给形参),从列表中获取函数的返回值进行比大小操作 ( < )

字符串比大小

字符比大小,是比较字符对应的 ASCII 码值
A < Z < a < z
ord(字符) # 查看获取字符对应的 ASCII 值
chr(ASCII值) # 获取对应的字符

'a' < 'A'
False
ord('a')
97
chr(65)
'A'

字符串比大小:
对应下标位置字符的大小,直到比出大小,如果全部比完了,还没有比出大小,那就是相等

'abc' > 'adc'
False
'abcde' > 'c'
False
'abc' < 'abbbbb'      # 按位进行比大小
False
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值