例如:我们去超市购物,比如买饮料,给钱之后,是不是售货员会返回给我们饮料这个商品。在函数中,如果需要返回结果给用户,就需要使用函数返回值。
换句话说,返回值就是函数执行以后返回的结果。
def buy(): # return返回结果给函数调用的地方 return '烟' # 使用变量保存函数返回值 goods = buy() print(goods)
return
下方的所有代码(函数体内部)不执行。示例如下:
需求:制作一个计算器,计算任意两数字之和,并保存结果。
def sum_num(a, b): return a + b # 用result变量保存函数返回值 result = sum_num(1, 2) print(result)
return
后边跟什么值,函数就会返回什么值。
return
后边可以跟任意的对象,返回值甚至可以是一个函数。
# 示例1:可以返回任何对象 def fn(): return 123 # 123 # return 'Hello' # Hello # return [1,2,3] # [1, 2, 3] # return {'k':'v'} # {'k': 'v'} r = fn() print(r) # 2.返回一个函数 def fn(): def fn2(): print('hello') return fn2 r = fn() # 结果:<function fn.<locals>.fn2 at 0x0000000002C24828> print(r) # 也可以直接调用整个函数 # 结果:hello r() # 3.如果仅仅写一个return 或者 不写return, # 则相当于return None def fn2(): a = 10 return r = fn2() print(r) # None
思考:如果一个函数如些两个return
,程序如何执行?
如下所示:
def return_num(): return 1 return 2 result = return_num() print(result) # 1
答:只执行了第一个return
,原因是因为return
可以退出当前函数,导致函数中return
下方的代码都不执行,return
一旦执行函数自动结束。
思考:如果一个函数要有多个返回值,该如何书写代码?
def return_num(): return 1, 2 # 返回一个元组 result = return_num() print(result) # (1, 2)
注意:
return a, b
写法,返回多个数据的时候,默认是元组类型。return
后面可以连接列表、元组或字典,以返回多个值。
示例:
def return_num(): # 直接返回一个元组 # return (1, 2) # (1, 2) # 直接返回一个列表 # return [100, 200] # [100, 200] # 直接返回一个字典 return {'name': 'Python', 'age': 30} result = return_num() print(result) # {'name': 'Python', 'age': 30}
fn5
和 fn5()
的区别def fn5(): return 10 print(fn5) # <function fn5 at 0x00000000029D5798> print(fn5()) # 10
fn5
是函数对象,打印fn5
实际是在打印函数对象<function fn5 at 0x05771BB8>
。fn5()
是在调用函数,打印fn5()
实际上是在打印fn5()
函数的返回值 10。
break
:用来退出当前循环。continue
:用来跳过当次循环。return
:用来结束函数。