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

Pythonのassertステートメントとは?基本構文と使い方を解説

Pythonのassertステートメントとは

Pythonのassertステートメントは、プログラム内で開発者が定義した条件(制約)が正しく満たされているかを確認するための仕組みです。主にデバッグ目的で使用され、スクリプトの冒頭などに記述して、前提条件が成り立っているかどうかを検証します。

基本構文

assertステートメントは、以下のような構文で記述します。

assert <some_test>, <message>

この行は次のように読み解けます。「もし<some_test>がFalseと評価された場合、例外が発生し、<message>が出力される」という意味になります。

動作の仕組み

検証したいコードブロックや式を、assertキーワードの後に記述します。動作結果は以下の2通りです。

  • テストに成功した場合(式がTrueと評価された場合):何も起こらず、プログラムはそのまま実行を続けます。
  • テストに失敗した場合(式がFalseと評価された場合):AssertionErrorが発生し、指定されたメッセージが出力されます。

具体的な使用例

以下のコードを、assertステートメントを使ってテストしてみましょう。

x, y = 4, 7
assert x > y, "x has to be smaller than y"

このコードを実行すると、x(4)はy(7)より大きくないためアサーションに失敗し、次のようなエラーが出力されます。

Traceback (most recent call last):
File "C:/Users/TutorialsPoint1/~assert2.py", line 2, in <module>
assert x > y, "x has to be smaller than y"
AssertionError: x has to be smaller than y

注意点:assertの適切な用途

assertステートメントは、あくまでユーザーが定義した制約の確認やテストに用いるものです。x / 0のようなコードエラー(例外)を捕捉する目的で使用すべきではありません。ゼロ除算などのエラーは、Python自体が自動的に検出して例外として処理するためです。

  1. Pythonのfrom...import文とは?特定の関数だけをスマートにインポートする方法

    Pythonでは、モジュール全体を読み込む代わりに、必要な関数やクラスだけを選んでインポートできます。そのために使われるのが「from モジュール名 import 関数名」という形式のfrom...import文です。この書き方を使うと、コードが簡潔になり、不要な名前空間の汚染も防げます。基本的な使い方たとえば、mathライブラリからsin関数だけをインポートしたい場合(他の関数は不要な場合)は、次のように記述します。>>> from math import sin >>> sin(0) 0.0「math.」という接頭辞が不要になる理由通常、import m

  2. Pythonのimport文とは?モジュールを使うために必須な理由と基本の使い方

    Pythonのコード内でパッケージやモジュールを利用するには、まずそのモジュールを利用可能な状態にしておく必要があります。これを行うのがimport文です。 Pythonでは「定義されていないもの」は使えない Pythonでは、まだ定義されていない名前を参照することはできません。ただし、一部の機能は最初から組み込まれており、int や float などの基本型はいつでも自由に使えます。 しかし、実際にやりたい処理の多くは、標準ライブラリや外部パッケージの力を借りる必要があります。たとえば、三角関数の余弦(コサイン)を計算したい場合、math モジュールをインポートせずに math.cos(0)