Maison  >  Article  >  développement back-end  >  Introduction à l'utilisation de python assert (avec code)

Introduction à l'utilisation de python assert (avec code)

不言
不言avant
2019-04-01 10:38:2823128parcourir

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,
 &#39;出错了,a大于0 啊&#39;
 print(&#39;这里不会输出&#39;)

Sortie :

Traceback (most recent call last):
  File "main.py", line 3, in <module>    
  assert a < 0, &#39;出错了,a大于0 啊&#39;
  AssertionError: 出错了,a大于0 啊

2 : Expressions multiples :

a = 1
b = -1
assert a > 0, b < 0
print(&#39;正常输出,表达式返回真了&#39;) # 输出:正常输出,表达式返回真了

3 : Essayez d'attraper l'exception d'assertion :

import traceback

try:
    assert a < 0
except AssertionError as aeeor:  # 明确抛出此异常
    # 抛出 AssertionError 不含任何信息,所以无法通过 aeeor.__str__()获取异常描述
    print(&#39;AssertionError&#39;, aeeor, aeeor.__str__())

    # 通过 traceback 打印详细异常信息
    print(&#39;traceback 打印异常&#39;)
    traceback.print_exc()
except:  # 不会命中其他异常
    print(&#39;assert except&#39;)

try:
    raise AssertionError(&#39;测试 raise AssertionError&#39;)
except AssertionError as aeeor:
    print(&#39;raise AssertionError 异常&#39;, 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(&#39;4除以2 =&#39;, foo(4, 2))  # 执行成功
print(&#39;4除以0 =&#39;, foo(4, 0))  # 抛出异常

Sortie :

4除以2 = 2.0
Traceback (most recent call last):
  File "main.py", line 8, in <module>
    print(&#39;4除以0 =&#39;, 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer