2016-05-19 13 views
3

私は関数呼び出しを行い、その戻り値を別の関数にパラメータとして渡しているとしましょう。私は次のようにしてください:関数呼び出しをパラメータとして別の関数に渡すことはできますか? Python

value = self.__myFunction(self.parent.connectToVars.getCertainValue()) 

個人的に

certainValue = self.parent.connectToVars.getCertainValue() 
value = self.__myFunction(certainValue) 

、私はそれが唯一のコードの1行であると私は潜在的に私をそらすことができ、任意のローカル変数を作るわけではないとして、最初の選択肢を使用する傾向があるが、ランタイムエラーがある可能性があれば、私は心配ですかそれはちょうど悪い習慣です。

+0

'certainValue'で別の関数に渡す以外に何もしない場合、2番目のアプローチを全く使用する必要はありません。それは悪い習慣でも実行時のエラーのようなものを引き起こすこともありません – donkopotamus

+0

私によく見えます。 –

+0

いいです。人間が読みやすくするために、線が長くなり過ぎたりネストすぎたりする場合は、中間変数を導入することもできますが、何も破壊することはありません。 – user2357112

答えて

1

最初のオプションは完全に問題ありません。この方法で内部関数の戻り値には後からアクセスできません。したがって、内部関数に時間がかかる場合は、戻り値を複数回使用する必要があります。一時変数に保存する方が良いので、最初から毎回計算する必要はありません。

編集:

アレックスが、それは通常、不必要なものを複数回計算する悪い習慣だ述べたように。要約すると、関数の戻り値を複数回使用する場合は、一時変数を使用します。それ以外の場合は、最初のオプションを使用できます。

+1

計算にコストがかからなくても、ロジックは複雑であり、繰り返されるべきではありません。 –

関連する問題