我正在做作業,我在「打印」和「返回」之間感到困惑。
python中的print和return有什麼區別?
例如,當我要求創建一個返回所有字母(「a」,「e」,「i」,「o」,「u」)的函數時,爲什麼輸出不能出來。?我只是把我的高清功能(例如all_letters(「你好我的妻子」),但是當我把「印刷體」有一個輸出
我正在做作業,我在「打印」和「返回」之間感到困惑。
python中的print和return有什麼區別?
例如,當我要求創建一個返回所有字母(「a」,「e」,「i」,「o」,「u」)的函數時,爲什麼輸出不能出來。?我只是把我的高清功能(例如all_letters(「你好我的妻子」),但是當我把「印刷體」有一個輸出
隨着return
,你可以分配給一個變量:
def my_funct(x):
return x+1
然後,您可以做y = my_funct(5)
。y
現在等於6.
要他lp描述它,認爲一個函數是一臺機器(類似於他們在一些數學課程中使用的)。通過插入變量(在這種情況下,x
),函數輸出(或returns
)(在這種情況下,x+1
)。變量是輸入,return
給出輸出。
但是,使用print
時,該值僅顯示在屏幕上。
如果更改的功能:
def my_funct(x):
print(x+1)
然後做y = my_funct(x)
,y
等於None
,因爲print()
不返回任何東西。
使用機器隱喻,插入變量(同樣,x
),但不是輸出內容,而是顯示它等於什麼(再次,x+1
)。但是,它不輸出任何內容。
return
將值返回給調用範圍。 print
(除非有人做了一些猴子修補)將數據推送到標準輸出。隨後可以從調用範圍使用返回的值,而將打印的內容分派給OS並由OS相應處理。
>>> def printer(x):
... print x * 2
...
>>> def returner(x):
... return x * 2
...
>>> printer(2)
4
>>> y = printer(2)
4
>>> y is None
True
>>> returner(2)
4
>>> y = returner(2)
>>> y
4
交互式控制檯是一個位誤導用於說明這一點,因爲它只是打印一個返回值的字符串表示,但在例如分配給y
上述值的差是說明性的。 y
當分配printer
的結果時爲None
,因爲對於沒有顯式返回值的任何函數存在隱式return None
。
return
是一個關鍵字,而print
是一個功能:當你想賦值給變量
return
是非常有用的。
print
只允許您打印在命令提示符下一些文字:
def foo():
return 2
bar = foo() # now bar == 2
print(bar) # prints 2
非常感謝(: –
OK!謝謝.. –