Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでのアサーション


アサーションは、プログラムのテストが終了したときにオンまたはオフにできる健全性チェックです。

アサーションを考える最も簡単な方法は、それを raise-ifに例えることです。 ステートメント(より正確には、raise-if-notステートメント)。式がテストされ、結果がfalseになると、例外が発生します。

アサーションは、バージョン1.5で導入されたPythonの最新キーワードであるassertステートメントによって実行されます。

プログラマーは、有効な入力をチェックするために関数の開始時にアサーションを配置し、有効な出力をチェックするために関数呼び出しの後にアサーションを配置することがよくあります。

assertステートメント

アサートステートメントが検出されると、Pythonは付随する式を評価します。これはうまくいけばtrueです。式がfalseの場合、PythonはAssertionError例外を発生させます。

構文 アサートの場合は-

assert Expression[, Arguments]

アサーションが失敗した場合、PythonはAssertionErrorの引数としてArgumentExpressionを使用します。 AssertionError例外は、try-exceptステートメントを使用して他の例外と同様にキャッチおよび処理できますが、処理されない場合、プログラムを終了してトレースバックを生成します。

これは、温度をケルビン度から華氏度に変換する関数です。ゼロ度ケルビンはそれが得るのと同じくらい冷たいので、それが負の温度を見ると関数はベイルアウトします-

#!/usr/bin/python
def KelvinToFahrenheit(Temperature):
assert (Temperature >= 0),"Colder than absolute zero!"
return ((Temperature-273)*1.8)+32
print KelvinToFahrenheit(273)
print int(KelvinToFahrenheit(505.78))
print KelvinToFahrenheit(-5)

出力

上記のコードを実行すると、次の結果が生成されます-

32.0
451
Traceback (most recent call last):
File "test.py", line 9, in <module>
print KelvinToFahrenheit(-5)
File "test.py", line 4, in KelvinToFahrenheit
assert (Temperature >= 0),"Colder than absolute zero!"
AssertionError: Colder than absolute zero!

  1. Pythonでif...elseステートメントをインデントする方法は?

    Pythonの特徴的な機能の1つは、ステートメントのブロックを示すために統一インデントを使用することです。ブロックは-symbolによって開始されます-symbolが入力されてEnterキーが押されるとすぐに、Python対応のエディターはインデントを増やして次の行にカーソルを移動します。その後に入力されるすべての行は、同じレベルのインデントに従います。ブロックの終わりを通知するには、バックスペースを押してインデントレベルを下げる必要があります。 上記の手順を使用すると、-after ifステートメントを指定し、trueブロックにステートメントを書き込みます。次に、バックスペースでデントし、e

  2. Pythonでのassertステートメントの使用は何ですか?

    assertステートメントの構文は次のとおりです。 assert <some_test>, <message>をアサートします 上記の行は次のように読み取られます。がFalseと評価された場合、例外が発生し、が出力されます。 コードブロックまたは式をテストする場合は、assertキーワードの後に​​配置します。テストに合格するか、式がtrueと評価された場合、何も起こりません。ただし、テストが失敗した場合、または式がfalseと評価された場合、AssertionErrorが発生し、メッセージが出力または評価されます。 Assertステートメントは、ユーザー定義の制