2016-09-29 6 views
0

最近、私は以下の質問に関して矛盾しています。3次関数呼び出しと関数呼び出しの間のプログラムによる区別は、条件によって異なります。

arg = A if condition else B 
result = func(arg) 

ケース:

ケース#1それはただ文体の選択肢かもしれませんが、次のプログラム間の差があると私は思っていた...(Pythonで、ほとんどの言語に適用可能) #2:

if condition: 
    result = func(A) 
else: 
    result = func(B) 

これらの2つの業界標準はありますか?プログラム上の違いはありますか?

+0

いいえ、ちょうどスタイル。明らかに前者では呼び出されている関数を切り替える方が簡単ですが、単純な例の外では文脈の中で最も意味のあるものを使うだけです。 – jonrsharpe

+1

私はたぶん 'result = func(条件else if B)' –

答えて

0

私の意見では、ケース#1では、何らかのバイナリ条件を確認していることを確認してください。整数は奇数または偶数のいずれかです。ケースでは、シンプルさのためにケース#1が好きです。

n> 2の整数モジュールnの残りの部分をチェックするなど、条件式がバイナリでない場合は、ネストされた三項式を使用する必要があり、コードをすばやく読みにくくなります。これらのケースでは、ケース2がより良いでしょう。

関連する問題