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自体が自動的に検出して例外として処理するためです。
-
Pythonのfrom...import文とは?特定の関数だけをスマートにインポートする方法
Pythonでは、モジュール全体を読み込む代わりに、必要な関数やクラスだけを選んでインポートできます。そのために使われるのが「from モジュール名 import 関数名」という形式のfrom...import文です。この書き方を使うと、コードが簡潔になり、不要な名前空間の汚染も防げます。基本的な使い方たとえば、mathライブラリからsin関数だけをインポートしたい場合(他の関数は不要な場合)は、次のように記述します。>>> from math import sin >>> sin(0) 0.0「math.」という接頭辞が不要になる理由通常、import m
-
Pythonのimport文とは?モジュールを使うために必須な理由と基本の使い方
Pythonのコード内でパッケージやモジュールを利用するには、まずそのモジュールを利用可能な状態にしておく必要があります。これを行うのがimport文です。 Pythonでは「定義されていないもの」は使えない Pythonでは、まだ定義されていない名前を参照することはできません。ただし、一部の機能は最初から組み込まれており、int や float などの基本型はいつでも自由に使えます。 しかし、実際にやりたい処理の多くは、標準ライブラリや外部パッケージの力を借りる必要があります。たとえば、三角関数の余弦(コサイン)を計算したい場合、math モジュールをインポートせずに math.cos(0)