函数是编写好的,可以重复使用的代码段。
return 的功能:从函数内部返回一个值。
上一节我们把函数比做了一个破壁机,返回值就是破壁机最终的成品:果汁、豆浆、米糊。
如果我们把函数想象成一个自动售卖机,那我们购买到的饮料就是返回值。
例子1:自定义一个函数,编写一个自动售卖机的小程序
输入 1 时,取货口会得到’一瓶可乐’。
输入 2 时,取货口会得到’一瓶矿泉水’。
输入 3 时,取货口会得到’一瓶果粒橙’。
输入 4 时,取货口会得到’一瓶雪碧’。
# 定义函数语法:def 函数名(参数):
# vending_machine:自动售货机
# choice 是参数,记得参数后面有英文冒号
def vending_machine (choice) :
# 条件判断参数值,并用return 语句返回对应内容
if choice == '1':
# return语法:return 返回值
return '一瓶可乐!'
elif choice == '2':
return '一瓶矿泉水!'
elif choice == '3':
return '一瓶果粒橙!'
elif choice == '4':
return '一瓶雪碧!'
else:
return 'nothing!'
# input函数收集终端信息
choice = input('欢迎使用自动售货机,输入数字即可购买对应的饮料:\n1.可乐、2.矿泉水、3.果粒橙、4.雪碧\n你想购买的是:')
# 打印检查返回结果
# 函数名(参数)=return后的字符串=要返回的值
# vending_machine(choice)= 返回值
print('你购买的是' + vending_machine(choice))
【终端输出】
你购买的是一瓶果粒橙!
vending [ˈvendɪŋ]:贩卖。
machine [məˈʃiːn]:机器。
例子2:自定义一个计算正方形面积的函数
函数的参数为正方形的边长。
函数的返回值为对应边长的正方形面积。
调用函数原样输出:边长为?的正方形,面积为?。
# 自定义函数语法:def 函数名(参数) :
# 函数square_area用于计算正方形的面积
# side_length参数为边长长度
def square_area (side_length):
# 正方形面积 = 边长 x 边长
area = side_length * side_length
# 返回面积值
return area
print(square_area(5))
# 调用函数语法:函数名(实参)
print('边长为{}的正方形,面积为{}。'.format(5,square_area(5)))
【终端输出】
25
边长为5的正方形,面积为25。
注意:我们要获取函数的返回值,我们用的是函数的调用:square_area(5)。
注意我们并没有调用变量area,而是调用的函数square_area。
如果把print(square_area(5))换成print(area)函数会报错。
如果没有用 return 语句返回值的函数,这个时候终端显示输出结果为"None"。因为函数没有返回值,因此print(square_area(5))就为none。
# 自定义函数语法:def 函数名(参数) :
# 函数square_area用于计算正方形的面积
# side_length参数为边长长度
def square_area (side_length):
# 正方形面积 = 边长 x 边长
area = side_length * side_length
print(square_area(5))
【终端输出】
None
函数值的应用
return 语句的作用就是返回一个值到函数外部。
例如上面的函数内的值被返回到了square_ares(5)那样。
当你在函数外部调用这个函数的时候,就可以对从函数内返回的结果进行处理。
# 自定义函数语法:def 函数名(参数) :
# 函数square_area用于计算正方形的面积
# side_length参数为边长长度
def square_area (side_length):
# 正方形面积 = 边长 x 边长
area = side_length * side_length
# 返回面积值
return area
# 调用函数语法:函数名(实参)
# square_area(5)数据类型为整数,要进行字符串拼接,用str函数进行转换
print('边长为5的正方形,面积为'+str(square_area(5)))
print('3个边长为5的正方形,面积为'+str(square_area(5)*3))
【终端输出】
边长为5的正方形,面积为25
3个边长为5的正方形,面积为75
str(square_area(5)*3)这段代码就对函数的返回值进行了乘法的计算。