多くの場合、問題を解決するためにif-else
とtry-except
の両方の句を使用できるケースがあります。その結果、私は、手元の課題を達成するために特定の条項の使用を決定する(そして正当化する)ことにいくつかの混乱があります。例えば
、私たちは些細な状況を考えてみましょう:私は2つの間でよりPython的方法を決定し、それを正当化することができますどのようにtry節とelse節の比較
In []: user = {"name": "Kshitij", "age": 20 }
# My motive is to print the user's email if it is available.
# In all other cases, a warning message needs to be printed
# Method-01 : Using try clause
In []: try:
...: print(a["email"])
...: except KeyError:
...: print("No EMAIL given")
...:
No EMAIL given
# Method-02 : Using if-else clause
In []: if "email" in a:
print(a["email"])
...: else:
...: print("No EMAIL given")
...:
No EMAIL given
私が知りたいのです。また、類似のシナリオを解決するためのいくつかの方法をどのように区別できるかについてのいくつかの指針は、本当に役立つでしょう。
これはあなたの質問に答えるのではなく、3番目の選択肢です: 'print(a.get(" email "、" EMAIL指定なし "))' ;-) – Kevin
私はこれが重複しているとは思わない。私の意見では、これはすべての場合の合併です。私はちょうど別の質問に関連した例を挙げたばかりです。 –
@Kevinここでの動機は、それを「取得」するのではなく、むしろそれを表示することなので、「与えられたEMAILはない」というのは、Pythonの悪い構成です。 –