2017-07-27 36 views
-1

Attached picture related to return valuePython基礎 - 返回值

在附圖中,我想知道爲什麼有兩個結果?這是由於def函數派生一個和打印函數派生另一個?謝謝!

+0

請在你的問題的文本代碼。 https://stackoverflow.com/editing-help – perigon

+0

在Python中,所有函數都會返回一個對象(默認爲「None」)或引發異常。打印是爲用戶設計的副作用。它與程序和用戶使用的返回對象不同。設計功能的目的是以他們返回的對象爲中心。確實是 – pylang

回答

2

默認情況下,函數自動返回

def f(): 
    pass 

>>> print(f()) 
None 

你當然可以指定其他的返回值:

def f(): 
    return 42 

>>> print(f()) 
42 

在您的例子中,函數打印的值,返回。第二個打印然後顯示有兩個打印 - 這就是爲什麼你看到兩個值打印。

+0

。澄清。你的函數不返回任何東西(即默認返回None)。因此,您的打印(half_value(42))第一個exectus half_value(42)將打印21.0,然後在half_value的返回值(即None)上執行打印 – user1352683