参数解包 | Python从入门到精通:高阶篇之六
返回值
def sum(*nums):
# 定义一个变量,来保存结果
result = 0
# 遍历元组,并将元组中的数进行累加
for n in nums :
result += n
print(result)
sum(123,456,789)
执行结果:
此时我们有一个问题,函数计算出来的结果直接输出了,我们无法利用这个结果进行其他操作,这是不好的,我们希望这个结果是直接返回的。此时我们就需要用到返回值。
返回值,就是函数执行以后返回的结果。可以通过 return 来指定函数的返回值,可以直接使用函数的返回值,也可以通过一个变量来接收函数的返回值。
def fn():
# return 100
# return 'Hello'
# return [1,2,3]
# return {'k':'v'}
def fn2() :
print('hello')
return fn2 # 返回值也可以是一个函数
r =fn() # 此时这个函数的执行结果就是它的返回值
r()
#print(fn())
#print(r)
执行结果:
return 后边跟什么值,函数就会返回什么值,return 后边可以跟任意的对象,返回值甚至可以是一个函数。
此时会有一个疑问,直接return则会返回什么呢?
def fn2() :
#return
a = 10
r = fn2()
print(r)
执行结果:
此时可知,如果仅仅写一个return 或者 不写return,则相当于return None。
def fn3():
print('hello')
# return
print('abc')
r = fn3()
#print(r)
执行结果:
在函数中,return后的代码都不会执行,return 一旦执行函数自动结束。
我们发现跟break有点类似,我们接着进行分析。
def fn4() :
for i in range(5):
if i == 3 :
break # 用来退出当前循环
print(i)
print('循环执行完毕!')
fn4()
执行结果:
刚进行循环不跳出时
break跳出
如果改为continue呢?
continue # 用来跳过当次循环
执行结果:
那么return呢?
return # return 用来结束函数
执行结果:
我们需要对这三个有准确的把握。
此时,我们可以对求和函数进行改造。
def sum(*nums):
# 定义一个变量,来保存结果
result = 0
# 遍历元组,并将元组中的数进行累加
for n in nums :
result += n
return result
r = sum(123,456,789)
# print(r)
print(r + 778)
执行结果:
此时的结果,我们可以进行再次计算或者直接输出。
def fn5():
return 10
print(fn5)
print(fn5())
执行结果:
fn5 和 fn5()的区别
print(fn5) 是fn5是函数对象,打印fn5实际是在打印函数对象
print(fn5()) 是fn5()是在调用函数,打印fn5()实际上是在打印fn5()函数的返回值 10。
函数的存在一定是为了实现某种功能,利用函数来保存代码。
配套视频课程,点击这里查看
获取更多资源请订阅Python学习站