if x==y:
return 0
else:
return 1
に変換
return 0 if x==y else 1
のような単一の行に復帰していることならば、他まあ、私は確かに私はのif-elseは次のように1行に複数の時間を発生し、これらのステートメントについて混乱しています理解
def cmp(x, y):
return 0 if x == y else 1 if x > y else -1
1行で書かれたif-elseステートメントを解釈して理解する方法。
それは物事がA 'のような、より複雑な式のために働く方法を示しますので、これは素晴らしい答えですとして解析しなければならない他のCOND1(Bの場合であれば、他のCOND2(C(他COND3場合D))) 'を使用してください。 –
@ChronoKitsune 'できるだけ一般的には避けるべきではありますが、真実だが、私がほとんどのPythonライブラリを読むと、これらの文でいっぱいになります。 – user2728397
@Rakesh_Kはい、そうです。そのような単一行if-elseステートメントの長い連鎖がある場合は、すべてのことをより明確にすることによって可読性を向上させることが通常は良い考えです。 Zen of Python( 'import this')によれば、「疎は密度の高いものよりも優れている」、「実装が説明しやすいなら、良い考えかもしれない」このようなことをもっと長くするようになると、複雑になり、「シンプルが複雑なものより優れている」、「可読性が評価される」ため、変更を検討する可能性があります。複雑な理由があることもありますので、Zenはそれを禁止しません。 –