この講義は、大規模なプログラムを扱う場合に重要になります。
Python で例外ブロックとコメントを使用してエラーを処理する方法を学習します。
例外
Python プログラムでエラーを処理する方法を学習します。 端末からユーザーの年齢を取得する小さなプログラムを作成することから始めましょう。
age = int(input('Age'))
print(age)
実行してみましょう。
次に、このプログラムの終了コードを見てください。 終了コード 0 は、プログラムが正常に終了し、エラーがなかったことを意味します。 しかし、このプログラムをもう一度実行して、数値を入力する代わりに文字列を入力するとどうなるでしょうか?
彼のメッセージ「invalidliteral for int() with base 10」で値エラーが発生します。基本的に、このメッセージが伝えていることは、この文字列「qwe」には、整数に変換できる有効なホーム ナンバーが含まれていないということです。 次に、このプログラムの終了コードを見てください。 終了コード 1 は終了コードがクラッシュしたことを意味するため、0 は常に成功を意味し、0 以外はクラッシュを意味します。 プログラミングでは、この種のエラーを例外と呼びます。
優れた Python プログラマーとして、この状況を予測する必要があります。 ユーザーが無効な値を入力したという理由だけで、プログラム全体をクラッシュさせたくありません。 したがって、プログラムをクラッシュさせる代わりに、状況を処理して適切なエラー メッセージを出力する必要があります。 それが私がこの講義であなたに見せようとしていることです。
Python では、 try except
エラー状況に対処するために使用されます。
try:
age = int(input('Age'))
print(age)
これらの XNUMX 行のコードは、 try:
ブロック。 追加します except
その後、予想されるエラーのタイプでブロックします。
except ValueError:
print('Invalid Value')
値エラーの場合、文字列「Invalid Value」が返されるようになりました。
以前のプログラムを変更して、別の種類のエラーを確認してみましょう。
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
さて、このプログラムを実行して、年齢に「0」を入力すると、数値が表示されます。 したがって、技術的には、例外を受け取るべきではありません。
実行してみましょう。
見てください。 数値を 0 で割ることができないため、プログラムがクラッシュし、「ゼロ除算エラー」が発生しました。もう一度終了コードを確認してください。 このexceptブロックでは、この種のエラーまたはこの種の例外をキャッチできませんでした。
この except ブロックは型値エラーの例外のみをキャッチしており、Zero Division Error を処理するには新しい except ブロックが必要です。 それに応じてプログラムを修正しましょう。
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
問題は解決された!
- 構文エラー
- タイプエラー
- 名前エラー
- 索引エラー
- 値エラー
- ゼロ除算エラー
- 属性エラー
- ランタイムエラー
- キーエラー
- メモリエラー
- アサーションエラー
- インデントエラー
- エオエラー
- 浮動小数点エラー
- オーバーフロー エラー
- 論理エラー
- システムエラー
- 実装されていないエラー
- オセエラー
- エラー
- 参照エラー
- Unicode エラー
- 算術エラー
- Unicode デコード エラー
- Unicode エンコード エラー
- Unicode翻訳エラー
- ランタイムエラー
プログラマーは、プログラム内のすべての例外を認識し、それに応じて処理する必要があります。
コメント
今回は、Python のコメントについて説明します。 コメントを使用してプログラムにメモやコメントを追加し、読みやすさを向上させ、コードを読んでいる人にメッセージを伝えます。
# 記号を使用して、プログラムにコメントを書き込むことができます。 # の後に記述したものはすべて、Python コンパイラによって無視され、実行されません。 コード行の後にだけでなく、個々の行にもコメントを追加できます。
これらのコメントを使用して、コードについて何かを説明したり、物事を修正したり片付けたりするためのリマインダーとして使用したり、コードを読んでいる他の開発者と物事をやり取りしたり、このコードを書いた理由を説明したりするために使用できます。特定の方法。 これらは、コメントの使用に適した使用例です。 複数行にわたるコメントも可能です。 各行は新しい # 記号で開始する必要があります。 コメントを使用するときに避ける必要があることの XNUMX つは、コードが何をするかを説明することです。
悪いコメントの例を次に示します。
明らかなことを言っているので、これは悪いコメントです。 次の行で「太陽が西に沈む」と表示されることを伝えています。 このコメントの問題点は、ここに来て西を東に変更すると、冗長で反復的であることに加えて、このコメントが時代遅れになることです。 したがって、コードを更新するたびに、戻って対応するコメントを変更する必要があります。
つまり、コメントを使用して、「何が」ではなく「どのように」と「なぜ」に答えてください。
良いコメントの例を次に示します。
最初のコメントでは、プログラムを完成させる前にこの収入の値を更新する必要があることを思い出しています。XNUMX 番目の値は、私のコードを読んでいる他の開発者に、このプログラムではすべてのエラーが処理されないことを伝えています。
結論として、冗長なコメントは避けるべきであり、コメントはコードに何らかの価値を追加する必要があります。
要約!
例外とコメントは、見落とされがちなプログラミングの XNUMX つの側面であり、通常、その重要性は過小評価されています。
プログラムをクラッシュさせることは、必要に応じてコードにコメントを付けないことと同じくらい悪いことです。 次の講義では、クラスとコンストラクタに焦点を当てます。
コメントを残す