エラーが起きた時に指定のメッセージを出したい


概要


assert 条件式, 条件式を満たしていなければ表示される文字列

条件式を満たしていない場合にシェルのエラーメッセージの中に指定の文字列が出てくる

        
aa = 1
assert aa == 1,'1ちゃうで!'
assert aa == 2,'2ちゃうで!'
        
      
        
aaに1を入れる
aaが1ではないなら「1ちゃうで!」とエラーメッセージを出す
aaが2ではないなら「2ちゃうで!」とエラーメッセージを出す
        
      

print出力

        
print出力ではないが、エラーメッセージは

Traceback (most recent call last):
  File "/Users/shigetakatani/Documents/python/practice/assert01.py", line 3, in 
    assert aa == 2,'2ちゃうで!'
AssertionError: 2ちゃうで!

と出る。
        
      

説明


エラーが出た時に指定のメッセージを出してエラーするようになる。構文は

assert 条件文,エラー時に出すメッセージ

条件分はTrueなら何も起きず、Falseならエラーメッセージを出す。
エラーが出た後は通常と同じように、そこでプログラムは止まってその先へは進まない。
  

間違えやすい問題


なし
  

概要


ある文字や数字がリストの中にあるかどうか調べる

        
def func():
    aList = [1,2,3]
    assert 4 in aList,'4がありません'
    return aList

func()
        
      
        
関数funcを定義
aListに1,2,3を入れる
aListの中に4があれば何もなし、なければ「4がありません」というエラーメッセージを出す
aListの結果を関数の戻り値にする

関数funcを実行
        
      

print出力

        
print出力ではないが、エラーメッセージは

Traceback (most recent call last):
  File "C:\Users\Valley\Documents\MyProject_XP\python\practice\assert02.py", line 6, in 
    func()
  File "C:\Users\Valley\Documents\MyProject_XP\python\practice\assert02.py", line 3, in func
    assert 4 in aList,'4がありません'
AssertionError: 4がありません

と出る。
        
      

説明


上と同様

assert 条件文 メッセージ

条件文「4 in aList」はFalseになるので(aListに4は含まれていないので)
エラーメッセージ「4がありません」と出る
  

間違えやすい問題


なし