Cet article vous apporte une introduction à l'utilisation de python assert (avec du code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Le format et l'utilisation des phrases d'assertion Python sont très simples. Habituellement, le programme lève une exception après son exécution. Utilisez assert pour terminer l'exécution directement au niveau du code où l'exception se produit. Au lieu d'attendre la fin de l'exécution du programme, une exception est levée.
Le rôle de python assert
python assert Si une exception se produit, l'expression est fausse. On peut comprendre qu'une exception sera déclenchée lorsque la valeur de retour de l'expression est fausse.
Le format syntaxique de l'instruction assert
assert expression [, arguments] assert 表达式 [, 参数]
Remarque supplémentaire : assert peut également être utilisé pour plusieurs expressions : assert expression1, expression2.
Remarque : Lorsque l'expression = false, l'exception qui la suit sera exécutée.
Regardons quelques exemples
1 : Expression unique :
a = 1assert a < 0, '出错了,a大于0 啊' print('这里不会输出')
Sortie :
Traceback (most recent call last): File "main.py", line 3, in <module> assert a < 0, '出错了,a大于0 啊' AssertionError: 出错了,a大于0 啊
2 : Expressions multiples :
a = 1 b = -1 assert a > 0, b < 0 print('正常输出,表达式返回真了') # 输出:正常输出,表达式返回真了
3 : Essayez d'attraper l'exception d'assertion :
import traceback try: assert a < 0 except AssertionError as aeeor: # 明确抛出此异常 # 抛出 AssertionError 不含任何信息,所以无法通过 aeeor.__str__()获取异常描述 print('AssertionError', aeeor, aeeor.__str__()) # 通过 traceback 打印详细异常信息 print('traceback 打印异常') traceback.print_exc() except: # 不会命中其他异常 print('assert except') try: raise AssertionError('测试 raise AssertionError') except AssertionError as aeeor: print('raise AssertionError 异常', aeeor.__str__())
Sortie :
AssertionError traceback 打印异常 Traceback (most recent call last): File "main.py", line 7, in <module> assert a < 0 AssertionError raise AssertionError 异常 测试 raise AssertionError
4 : L'appel de fonction renvoie une exception :
# 除法运算 def foo(value, divide): assert divide != 0 return value / divide print('4除以2 =', foo(4, 2)) # 执行成功 print('4除以0 =', foo(4, 0)) # 抛出异常
Sortie :
4除以2 = 2.0 Traceback (most recent call last): File "main.py", line 8, in <module> print('4除以0 =', foo(4, 0)) # 抛出异常 File "main.py", line 3, in foo assert divide != 0 AssertionError
Grâce aux exemples ci-dessus, je pense que tout le monde a une compréhension profonde de l'utilisation d'aseert
Résumé : Lorsque l'expression renvoie faux. Lancez une exception directement pour terminer l'exécution et poursuivre l'exécution.
[Recommandations associées : Tutoriel vidéo Python]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!