開發與維運

介紹返回值 | Python從入門到精通:高階篇之七

參數解包 | Python從入門到精通:高階篇之六

返回值

def sum(*nums):
    # 定義一個變量,來保存結果
    result = 0
    # 遍歷元組,並將元組中的數進行累加
    for n in nums :
        result += n
    print(result)

sum(123,456,789)

執行結果:

image.png

此時我們有一個問題,函數計算出來的結果直接輸出了,我們無法利用這個結果進行其他操作,這是不好的,我們希望這個結果是直接返回的。此時我們就需要用到返回值

返回值,就是函數執行以後返回的結果。可以通過 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)

執行結果:

image.png
image.png
image.png
image.png
image.png
image.png

return 後邊跟什麼值,函數就會返回什麼值,return 後邊可以跟任意的對象,返回值甚至可以是一個函數。

此時會有一個疑問,直接return則會返回什麼呢?

def fn2() :
    #return 
    a = 10

r = fn2()
print(r)

執行結果:

image.png
image.png

此時可知,如果僅僅寫一個return 或者 不寫return,則相當於return None。

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

r = fn3()
#print(r)

執行結果:

image.png
image.png

在函數中,return後的代碼都不會執行,return 一旦執行函數自動結束。

我們發現跟break有點類似,我們接著進行分析。

def fn4() :
    for i in range(5):
        if i == 3 :
            break   # 用來退出當前循環 
        print(i)
    print('循環執行完畢!')

fn4()

執行結果:

image.png
剛進行循環不跳出時
image.png
break跳出

如果改為continue呢?

continue  # 用來跳過當次循環

執行結果:

image.png

那麼return呢?

return   # return 用來結束函數

執行結果:

image.png

我們需要對這三個有準確的把握。
此時,我們可以對求和函數進行改造。

def sum(*nums):
    # 定義一個變量,來保存結果
    result = 0
    # 遍歷元組,並將元組中的數進行累加
    for n in nums :
        result += n
    return result

r = sum(123,456,789)

# print(r)
print(r + 778)

執行結果:

image.png
image.png
image.png

此時的結果,我們可以進行再次計算或者直接輸出。

def fn5():
    return 10

print(fn5)
print(fn5())

執行結果:

image.png

fn5 和 fn5()的區別
print(fn5) 是fn5是函數對象,打印fn5實際是在打印函數對象
print(fn5()) 是fn5()是在調用函數,打印fn5()實際上是在打印fn5()函數的返回值 10。

函數的存在一定是為了實現某種功能,利用函數來保存代碼。

配套視頻課程,點擊這裡查看

獲取更多資源請訂閱Python學習站

Leave a Reply

Your email address will not be published. Required fields are marked *