介绍返回值 | Python从入门到精通:高阶篇之七

参数解包 | Python从入门到精通:高阶篇之六

返回值

def sum(*nums):
    # 定义一个变量,来保存结果
    result = 0
    # 遍历元组,并将元组中的数进行累加
    for n in nums :
        result += n
    print(result)

sum(123,456,789)

执行结果:

介绍返回值 | Python从入门到精通:高阶篇之七

此时我们有一个问题,函数计算出来的结果直接输出了,我们无法利用这个结果进行其他操作,这是不好的,我们希望这个结果是直接返回的。此时我们就需要用到返回值

返回值,就是函数执行以后返回的结果。可以通过 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)

执行结果:

介绍返回值 | Python从入门到精通:高阶篇之七
介绍返回值 | Python从入门到精通:高阶篇之七
介绍返回值 | Python从入门到精通:高阶篇之七
介绍返回值 | Python从入门到精通:高阶篇之七
介绍返回值 | Python从入门到精通:高阶篇之七
介绍返回值 | Python从入门到精通:高阶篇之七

return 后边跟什么值,函数就会返回什么值,return 后边可以跟任意的对象,返回值甚至可以是一个函数。

此时会有一个疑问,直接return则会返回什么呢?

def fn2() :
    #return 
    a = 10

r = fn2()
print(r)

执行结果:

介绍返回值 | Python从入门到精通:高阶篇之七
介绍返回值 | Python从入门到精通:高阶篇之七

此时可知,如果仅仅写一个return 或者 不写return,则相当于return None。

def fn3():
    print('hello')
   # return
    print('abc')

r = fn3()
#print(r)

执行结果:

介绍返回值 | Python从入门到精通:高阶篇之七
介绍返回值 | Python从入门到精通:高阶篇之七

在函数中,return后的代码都不会执行,return 一旦执行函数自动结束。

我们发现跟break有点类似,我们接着进行分析。

def fn4() :
    for i in range(5):
        if i == 3 :
            break   # 用来退出当前循环 
        print(i)
    print('循环执行完毕!')

fn4()

执行结果:

介绍返回值 | Python从入门到精通:高阶篇之七
刚进行循环不跳出时
介绍返回值 | Python从入门到精通:高阶篇之七
break跳出

如果改为continue呢?

continue  # 用来跳过当次循环

执行结果:

介绍返回值 | Python从入门到精通:高阶篇之七

那么return呢?

return   # return 用来结束函数

执行结果:

介绍返回值 | Python从入门到精通:高阶篇之七

我们需要对这三个有准确的把握。
此时,我们可以对求和函数进行改造。

def sum(*nums):
    # 定义一个变量,来保存结果
    result = 0
    # 遍历元组,并将元组中的数进行累加
    for n in nums :
        result += n
    return result

r = sum(123,456,789)

# print(r)
print(r + 778)

执行结果:

介绍返回值 | Python从入门到精通:高阶篇之七
介绍返回值 | Python从入门到精通:高阶篇之七
介绍返回值 | Python从入门到精通:高阶篇之七

此时的结果,我们可以进行再次计算或者直接输出。

def fn5():
    return 10

print(fn5)
print(fn5())

执行结果:

介绍返回值 | Python从入门到精通:高阶篇之七

fn5 和 fn5()的区别
print(fn5) 是fn5是函数对象,打印fn5实际是在打印函数对象
print(fn5()) 是fn5()是在调用函数,打印fn5()实际上是在打印fn5()函数的返回值 10。

函数的存在一定是为了实现某种功能,利用函数来保存代码。

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

上一篇:认识参数 | Python从入门到精通:高阶篇之二


下一篇:实参的类型 | Python从入门到精通:高阶篇之四