python return 及lambda函数

时间:2021-01-09 16:31:07

return有两个作用:

1.用来返回函数的运行结果,或者调用另外一个函数。比如max()函数

>>> def fun(a,b):   #返回函数结果。
return max(a,b) >>> fun(6,8)
8
>>>

2.函数结束的标志。只要运行了return,就强制结束了函数。return后面的程序都不会被执行。

>>> def fun(a,b):
return ('不运行后边的语句了,到此为止!') #函数不在往下运行。
if a>b:
print(a) >>> fun(8,1) #运行到 return 后,不在运行后边的 if 语句
'不运行后边的语句了,到此为止!'
>>>
>>> def fun(a,b): #这次return 放在最后,与print() 做对比,
if a>b:
print(a)
return ('函数到此为止!') >>> fun(8,1)
8
'函数到此为止!'
>>>

如果函数中没有写return,其实函数运行结束时,默认执行了 return None。

>>> def fun(a,b):    #这里的return返回函数结果
return (a,b) >>> a = fun(1,2)
>>> print(a) #验证返回的结果
(1, 2)
>>> def fun(a,b): #这个函数里面就没有 return
print (a,b) >>> a = fun(5,6)
5 6
>>> print(a) #因为没有添加 return,所以返回为 None(默认的值)
None
>>>

lambda匿名函数

没有函数名的函数:
g = lambda x:x+1
lambda简化了函数定义的书写形式。是代码更为简洁,但是使用函数的定义方式更为直观,易理解

lambda的应用场景:
1.有些函数如果只是临时一用,而且它的业务逻辑也很简单时,就没必要用def 来定义,这个时候就可以用lambda。
2.函数都支持函数作为参数,lambda 函数就可以应用

>>> g = lambda x,y:x*y   #这样的简单函数,就不用def这样的方式。
>>> g(2,6)
12
>>> def fun(x,y): #和上面lambda函数一样
return (x*y) >>> fun(2,6)
12
>>> g = lambda x:x+1 #这样的简单函数,就不用def这样的方式。
>>> g(2)
3
>>> def fun(x): #和上面lambda函数一样
return x+1 >>> fun(2)
3
>>>