2016-11-04 304 views
0

純函數可以帶參數嗎?例如,非純函數和純函數有什麼區別?

高清轉換(N):

預先感謝您

+3

這也就沒有什麼意義了純函數沒有參數 –

+1

@FranciscoCouzo:https://xkcd.com/221/ ;-) – NPE

+0

純函數是指那些沒有副作用。他們在工作過程中不做任何改變(例如,不打印,不改變可變對象等)。他們的論點是他們完整的投入,他們的回報價值是他們完整的產出。 – kindall

回答

2

當然,他們也可以有變量中。唯一的區別是它們是否有超出輸入和輸出參數的副作用。沒有用作「靈感」的輸入參數,純函數很難做一些有用的事情。

0

是的,他們可以有參數。下面的一些細節:

純函數:功能有一定的輸入(其參數),並返回一些輸出 (應用它們的結果)。內置功能:

>>> abs(-2) 

給出結果:

2 

超出返回值沒有影響。

非純功能:除了返回的值,應用非純函數可以產生的副作用,這使得一些變化到解釋器或 計算機的狀態。一個常見的副作用是使用打印功能生成超出返回值的附加輸出值。

print(1, 2, 3) 

1 2 3