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

不言
Libérer: 2019-04-01 10:38:28
avant
23143 Les gens l'ont consulté

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 表达式 [, 参数]
Copier après la connexion

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;)
Copier après la connexion

Sortie :

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

2 : Expressions multiples :

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

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__())
Copier après la connexion

Sortie :

AssertionError
traceback 打印异常
Traceback (most recent call last):
  File "main.py", line 7, in <module>
    assert a < 0
AssertionError
raise AssertionError 异常 测试 raise AssertionError
Copier après la connexion

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))  # 抛出异常
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!