函数的返回值
1.函数的返回值:
定义: 函数的返回值就是函数调用表达式的值/也是return关键字后的表达式的值.
(1)没有return的函数
def func1():
print('123')
func1() #>>>123
# 这个就是函数调用表达式的值,python中所有函数调用表达式都有值(也就是说所有的函数都有返回值,返回值就是return后面的值.).
a = func1() #>>>123 有返回值说明把func1的值赋给a
print('函数的值:',a) #>>>函数的值: None (因为函数中没有return,没有把值返回给a)
# 总结:如果函数没有return,那么函数的返回值就是None
# 相反举例:
def func1():
# print('123')
return 123
print(func1()) #>>>123
a = func1() #>>>123
print('函数的值:',a) #>>>123 (因为return把函数值返回给了a)
(2)有return的函数
我们通过举例一目了然--->例如: 写一个函数计算多个数的和,并且把结果返回
def sum_1(*numbers): # * 表示传入的参数不确定有多少个
sum = 0
for x in numbers:
sum += x
return sum #将sum交给函数调用者.
a = sum_1(1, 2, 3) #sum_1(1, 2, 3)执行完后返回6,然后把6赋给a
print(a) #>>>6
快速练习1: 获取两个数的差
def diff_1(num1,num2):
diff = num1 - num2
return diff
print(diff_1(10, 2)) #>>>8
总结1: 函数中的return与print的区别:
return:在定义函数时从函数中返回一个函数的返回值,终止函数的执行,函数中return以下的代码不再执行.
print():是把结果打印出来.返回结果值为 None
2.函数结束的标志
(1)没有return的时候,函数体全部执行完成,函数就结束
# (1)没有return的时候,函数体全部执行完成,函数就结束
def print_info():
print('hello')
print('hanbo')
print('你好啊')
print_info() #函数以hanbo结束
(2)如果函数有return,则return后面的不将执行
def print_num():
print('1111')
print('aaaa')
print('cccc')
return(100)
print('********') #return后面的执行不到
aa = print_num() #>>>1111 aaaa cccc
print(aa) #>>>100
总结2: a.函数中的return与循环中的break相似,只要遇到return关键字,函数就结束.
b.可以使用return给函数返回结果
c.遇到return提前结束函数
快速练习2:写一个函数,计算列表里面的数的和,但是如果计算的和超过20就终止运算.(只实现这个功能,不考虑其他的)
def sum_2(list_2):
sum_3 = 0
for num in list_2:
# print(num)
sum_3 += num
if sum_3 > 20:
return sum_3 - num
return sum_3
list_1 = [1, 2, 3, 10, 15, 16, 22]
print(sum_2(list_1)) #>>>16