2016-11-04 21 views
0

純関数は引数を取ることができますか?例えば、非純粋関数と純粋関数の違いは何ですか?

はデフ(N)に変換:

はもちろん、事前

+3

それは –

+1

@FranciscoCouzo引数取らないために、純粋な機能のために意味をなさないでしょう:https://xkcd.com/221/ ;-) – NPE

+0

ピュア関数が副作用を持っていないものであるが。彼らは仕事をしている過程で何も変えない(例えば、印刷していない、変更可能なオブジェクトを変更していないなど)。それらの引数は完全な入力であり、戻り値は完全な出力です。 – kindall

答えて

2

に、彼らは引数を持つことができ、ありがとうございました。唯一の違いは、入力パラメータと出力パラメータ以外の副作用があるかどうかです。 「インスピレーション」として使用する入力引数がなければ、純粋な関数が有用な何かをするのは難しいです。

0

はい、引数を持つことができます。

ピュアな機能:以下のいくつかの詳細を検索機能は、いくつかの入力(その引数)を持っており、いくつかの出力 (それらを適用した結果)を返します。組み込み関数:値を返す超えた

2 

影響なし:

>>> abs(-2) 

は結果を与えます。

非純関数:値を返すことに加えて、非純関数を適用するインタプリタまたは コンピュータの状態に何らかの変更を加える副作用を生成することができます。一般的な副作用は、戻り値 の値を超えて、print関数を使用して追加の出力を生成することです。

print(1, 2, 3) 

1 2 3 
関連する問題