assertについて学んでいきましょう。
assertは、コードの途中でプログラムが意図した通りに動いているかを確認する時に使われます。
assetはif文のようなものとイメージする
assertはif文と合わせて学ぶとイメージがわきやすいです。
if文は、条件がTrueであれば次の行を実行し、Falseであればelse又はelif文を実行します。
asset文は、条件がTrueであればそのままコードを実行し、FalseであればAssertionErrorを返します。
実際のコードで確認してみましょう。
コード1 a = 100
2 b = 20
3 c = 100
4 assert a == c
5 assert a == b
6 print('hello world')
アウトプットAssertionError
(1) 1~3行目で整数を変数に代入しています。aとcが同じ整数です。
(2) 4行目でassert文を使っていますが、ここでa==cはTrueになりますので、コードはそのまま実行されます。
(3) 5行目でもassert文を使っていますが、ここではa==bがFalseになりますので、AssertionErrorが出力され、コードはそれ以上実行されません。
エラーメッセージを作ることができる
assert文では、エラーメッセージを作ることもできます。
エラーメッセージを作るには、asset文の条件分岐の後にコンマを付けて、その上でエラーメッセージを書きます。
具体的なコードで見ていきましょう。
コード1 a = 100
2 b = 20
3 assert a == b, "a is not equal to b"
アウトプットAssertionError: a is not equal to b
3行目で条件を書いた後に、a is not equal to bと、エラー発生時の出力文を書いた結果、実際の出力画面にも「a is not equal to b」という文が出力されました。