Python 3における「assert」ステートメントの概要
Pythonの「assert」ステートメントは、プログラムが特定の条件を満たしていることを確認するために使用されます。このステートメントは、条件がTrueであれば何もせず、FalseであればAssertionErrorを発生させます。これにより、開発中にプログラムのバグを早期に発見しやすくなります。
基本的な使い方
「assert」ステートメントは、以下の基本形式を取ります:
assert 条件, エラーメッセージ
ここで、「条件」はテストしたい条件式であり、「エラーメッセージ」は条件がFalseの場合に表示されるオプショナルなメッセージです。
サンプルコード1: 変数の値の確認
以下のコードは、変数の値が期待通りであるかを確認する例です。
age = 20 assert age >= 18, '年齢が18歳未満です' print('年齢は18歳以上です。')
このコードでは、変数ageが18以上の場合のみ、「年齢は18歳以上です。」と出力されます。18未満の場合は、「年齢が18歳未満です」というエラーメッセージと共にAssertionErrorが発生します。
サンプルコード2: 関数の戻り値の確認
関数が期待した値を返しているかどうかを確認する例です。
def get_square_root(num): assert num >= 0, '負の数には平方根が存在しません' return num ** 0.5 result = get_square_root(25) assert result == 5, '計算結果が正しくありません' print('計算結果は正しいです。')
この例では、まず関数get_square_rootが非負の数のみを受け取ることをassertで確認しています。次に、関数の戻り値が期待通りであるかを別のassertでチェックしています。
サンプルコード3: リストの要素数の確認
リストに十分な要素が含まれているかどうかを確認する例です。
items = [1, 2, 3] assert len(items) >= 3, 'アイテムの数が不足しています' print('アイテムは3つ以上です。')
このコードでは、リストitemsが3つ以上の要素を持っていることをassertで確認しています。要素数が3未満の場合はエラーメッセージが表示され、AssertionErrorが発生します。
まとめ
Pythonの「assert」ステートメントは、プログラムが正しい状態にあることを保証するのに役立つ強力なツールです。開発過程で積極的に使用することで、予期せぬエラーに早期に対処し、より堅牢なコードを作成することができます。