参考理解Python函数中的return关键字 - 简书 (jianshu.com)
- return 语句是Python函数返回的结果,可以是数值、字符串、列表、表达式、函数等;
- return 语句将Python函数的结果,返回到调用的地方,并把程序的控制权一起返回,即在函数中,执行到return语句时,会退出程序(try...finally语句除外);
- Python 函数中,没有return语句时,默认 return一个 None 对象;多个return语句时,运行到第一个return语句即返回,不再执行其它代码
1、没有return,#也就是没有值被返回到调用的地方,默认 return一个 None 对象
1 def sum(arg1, arg2): 2 """ 3 这是一个求和函数 4 :param arg1: 输入值1 5 :param arg2: 输入值2 6 :return: 返回求和结果 7 """ 8 total_1 = arg1 + arg2 9 print("函数内 : ", total_1) 10 # return total_1 11 # return 12 # return 1 13 14 15 # 调用sum函数 16 total_2 = sum(10, 20) 17 print("函数外 : ", total_2) 18 19 20 #结果: 21 函数内 : 30 22 函数外 : None
2、有return函数,值返回给调用者
1 def sum(arg1, arg2): 2 """ 3 这是一个求和函数 4 :param arg1: 输入值1 5 :param arg2: 输入值2 6 :return: 返回求和结果 7 """ 8 total_1 = arg1 + arg2 9 print("函数内 : ", total_1) 10 return total_1 11 # return 12 # return 1 13 14 15 # 调用sum函数 16 total_2 = sum(10, 20) 17 print("函数外 : ", total_2) 18 19 20 #结果: 21 函数内 : 30 22 函数外 : 30
1 def sum(arg1, arg2): 2 """ 3 这是一个求和函数 4 :param arg1: 输入值1 5 :param arg2: 输入值2 6 :return: 返回求和结果 7 """ 8 total_1 = arg1 + arg2 9 print("函数内 : ", total_1) 10 # return total_1 11 return 12 # return 1 13 14 15 # 调用sum函数 16 total_2 = sum(10, 20) 17 print("函数外 : ", total_2) 18 19 20 #结果: 21 函数内 : 30 22 函数外 : None
1 def sum(arg1, arg2): 2 """ 3 这是一个求和函数 4 :param arg1: 输入值1 5 :param arg2: 输入值2 6 :return: 返回求和结果 7 """ 8 total_1 = arg1 + arg2 9 print("函数内 : ", total_1) 10 # return total_1 11 # return 12 return 1 13 14 15 # 调用sum函数 16 total_2 = sum(10, 20) 17 print("函数外 : ", total_2) 18 19 20 #结果: 21 函数内 : 30 22 函数外 : 1
3、多个return语句时,运行到第一个return语句即返回
1 def sum(arg1, arg2): 2 """ 3 这是一个求和函数 4 :param arg1: 输入值1 5 :param arg2: 输入值2 6 :return: 返回求和结果 7 """ 8 total_1 = arg1 + arg2 9 print("函数内 : ", total_1) 10 # return total_1 11 return 12 return 1 13 14 15 # 调用sum函数 16 total_2 = sum(10, 20) 17 print("函数外 : ", total_2) 18 19 20 #结果: 21 函数内 : 30 22 函数外 : None
4、想要return多个对象,写成一行
1 def sum(arg1, arg2): 2 """ 3 这是一个求和函数 4 :param arg1: 输入值1 5 :param arg2: 输入值2 6 :return: 返回求和结果 7 """ 8 total_1 = arg1 + arg2 9 print("函数内 : ", total_1) 10 return arg1,arg2,total_1 11 # return 12 # return 1 13 14 15 # 调用sum函数 16 total_2 = sum(10, 20) 17 print("函数外 : ", total_2) 18 19 #结果: 20 函数内 : 30 21 函数外 : (10, 20, 30)
5、
1 def sum(arg1, arg2): 2 """ 3 这是一个求和函数 4 :param arg1: 输入值1 5 :param arg2: 输入值2 6 :return: 返回求和结果 7 """ 8 if arg1 < arg2: 9 total_1 = arg1 + arg2 10 print("函数内 : ", total_1) #函数内部有print函数,所以即使是没有return函数,调用也有返回 11 else: 12 total_1 = arg1 - arg2 #函数内部无print函数,没有return函数就没有出口,这个程序是自己内部运行,程序没有返回值 13 14 15 # 调用sum函数 16 total_2 = sum(20, 10) 17 print("函数外 : ", total_2) 18 #结果: 19 函数外 : None