#函数返回值:
#想要获取函数中的局部变量 需要return关键词返回
# def foo():
# x = '局部变量'
# return x
# result = foo()
# print(result)
#>>局部变量
#"return x"成功地反回了局部变量"x"的内容没有return会发生以下情况
# def no_return():
# print("没有return")
# def no_return_value():
# print("有return 但没返回值")
# return
# def has_return():
# x ='局部变量'
# print("有return有返回值")
# return x
# result = no_return()
# print(result)
# result2 = no_return_value()
# print(result2)
# result3 = has_return()
# print(result3)
# # >>没有return
# # >>None
# # >>有return 但没返回值
# # >>None
# # >>有return有返回值
# # >>局部变量
#没有return 和有return 没返回值,两者都会获得“None”。但如果有“return"并带有返回值,就可以通过赋值的方法获取函数的返回值。
# def multi_value():
# r1 = "第一个返回值"
# r2 = "第二个返回值"
# r3 = "第三个返回值"
# r4 = "第四个返回值"
# r5 = "第五个返回值"
# return r1,r2,r3,r4,r5
# s = multi_value()
# print(s)
#>>('第一个返回值','第二个返回值','第三个返回值','第四个返回值','第五个返回值')
#当返回多值时,Python会返回一个元组
# def two_value():
# return "第一个返回值","第二个返回值"
# r1,r2 = two_value()
# print(r1)
# print(r2)
#>>第一个返回值
#>>第二个返回值
#函数的两个返回值成功地赋值给了两个变量“r1”和“r2”。
#lambda 表达式 : lambda argument_list:expression
#lambda_list 是参数列表,它的结构与python中函数(function)的参数列表是一样的(输入)
#expression是一个关于参数的表达式。表达式中出现的参数需要在argument_list中有定义,并且表达式只能是单行的(输出)
#也称作匿名函数
#lambda 函数有输入和输出:输入是传入到参数列表argment_list的值,输出是根据expression计算得到的值。
#lambda函数功能简单:单行expression决定了lambda函数不可能完成复杂的逻辑
# def add(x,y):
# return x+y
# y = lambda x,y:x+y
# print(y)
#>><function <lambda> at 0x00000186D736A550>
#add函数的作用是返回两个参数“x”和“y”的和,可改为lambda表达式:“lambda x , y:x+y”。
#以“lambda”开头表示这是个lambda表达式,之后的内容由“:”分为两部分:“:”左边的是函数的参数,右边是函数表达式(也可称为是要返回的值)
#lambda表达式不需要return关键词返回内容,函数会默认返回“:”右边的值。并且lambda表达式不需要函数名
# f = lambda i,j:i+j
# print(f)
# z = f(1,2)
# print(z)
# >><function <lambda> at 0x000001CACA82A4C0>
# >>3