57.return-函数的返回值
文章目录
- 57.return-函数的返回值
- 1.定义
- 2.分类
- 3. 没有返回值
- 4.有1个返回值
- 5.有多个返回值
- 6.一个自定义函数只执行一次return语句
- 7.实操练习
1.定义
return
关键字后接变量名或表达式
可以将函数的计算结果返回到调用处。
变量或表达式等同于接收果汁、豆浆的杯子。
如果函数没有返回值,return
可以省略不写。
没有返回值的意思是程序执行完毕之后,不需要给调用函数处提供数据。
2.分类
返回值分3种情况:
-
没有返回值
-
返回1个值
如果是1个返回值,直接返回内容本身的数据类型。
- 返回多个值
如果是多个返回值,返回的数据类型为元组。
【备注】是否需要写return,根据实际情况决定。
3. 没有返回值
def menu ():
print('''
学生信息管理系统
====功能菜单====
1.录入学生信息
2.查找学生信息
3.删除学生信息
4.修改学生信息
5.退出系统
''')
menu()
【终端输出】
学生信息管理系统
====功能菜单====
1.录入学生信息
2.查找学生信息
3.删除学生信息
4.修改学生信息
5.退出系统
menu [ˈmenjuː]菜单栏。
【代码解析】
def menu ():
定义了一个函数,函数名为menu
,menu
后的括号为空,表示这个函数没有参数。
print语句是自定义函数要输出的内容。
因为我不需要函数返回任何内容,我要实现的功能是调用menu函数时,输出print语句中的字符即可。
因此自定义函数没有添加参数。
4.有1个返回值
def fun (x , y):
sum = x + y
return sum
fun(2,5)
【终端输出】
7
【代码解析】
def fun (x,y):
函数名为fun
,形式参数为x
和y
。
sum = x+y
自定义函数要实现的求和功能。
return sum
中return
关键字加变量名sum
,意思是将sum
返回给函数调用处。
【查看返回值的数据类型】
def fun (x,y):
sum = x+y
return sum
print(type(fun(2,5)))
【终端输出】
<class 'int'>
<class 'int'>
这里返回的数据类型为整数。
5.有多个返回值
def fun( x, y):
sum=x+y
mul=x*y
return sum, mul
fun(2,5)
【终端输出】
(7, 10)
【代码解析】
def fun (x,y):
函数名为fun
,形式参数为x
和y
。
sum = x+y
自定义函数要实现的求和功能。
mul = x*y
自定义函数要实现的求积功能。
return sum, mul
中return
关键字加变量名sum
和mul
,意思是将sum
和mul
返回给函数调用处。
【查看返回值的数据类型】
def fun(x,y):
sum=x+y
mul=x*y
return sum,mul
print(type(fun(2,5)))
【终端输出】
<class 'tuple'>
<class 'tuple'>
当有多个返回值的时候,返回的数据类型默认为元组。
6.一个自定义函数只执行一次return语句
def fun(x,y):
sum=x+y
mul=x*y
return sum
return mul
fun(2,5)
【终端输出】
7
return语句和print语句不同,同等条件下,一个自定义函数中只执行一次return语句。
上述代码中有2个return语句,但程序只执行了第一个return sum
语句,程序终端只返回了求和的值。
执行return的意思是程序到这里就终止了。
【体验代码】
def test ( ):
print("测试函数!")
return
print("此句不会被执行!")
test( )
【终端输出】
测试函数!
【代码流程】
-
test( )
这是程序执行的第1行代码,表示调用test
函数。 -
def test ( ):
程序执行的第2行代码,开始执行test函数。 -
print("测试函数!")
程序执行的第3行代码,输出字符测试函数!
-
return
程序执行的第4行代码,执行return后,程序就结束了。 -
print("此句不会被执行!")
程序已经结束,这句话不会被执行。
7.实操练习
我们把函数理解成一个自动售卖机,那我们购买到的饮料就是返回值。
【目标任务】
自定义一个函数,编写一个自动售卖机的小程序。
输入 1
时,取货口会得到'一瓶可乐'
。
输入 2
时,取货口会得到'一瓶矿泉水'
。
输入 3
时,取货口会得到'一瓶果粒橙'
。
输入 4
时,取货口会得到'一瓶雪碧'
。
输入其他字符时,返回nothing
。
【示例】
输入
1
输出
一瓶可乐
# 定义函数语法: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(
'''欢迎使用自动售货机,输入数字即可购买对应的饮料:\n
1.可乐、2.矿泉水、3.果粒橙、4.雪碧\n你想购买的是:'''
)
# 打印检查返回结果
# 函数名(参数)=return后的字符串
# vending_machine(choice)= return后的字符串
print('你购买的是' + vending_machine(choice))
【终端输出】
你购买的是一瓶矿泉水!
vending_machine(choice)
调用函数语句。
vending_machine为函数名。
choice是实际参数,是从input函数从终端获取到的值。
这里的调用函数语句在print语句中,和前面的字符串你购买的是
进行了拼接。