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
>>>