1407 votes

Quelle est l’utilisation de « faire valoir » en Python ?

J’ai lu certains code source et dans plusieurs endroits, j’ai vu l’utilisation de `` . Ce que cela signifie exactement ? Quel est son usage ?

1636voto

uʍop ǝpısdn Points 16540

L' assert déclaration/fonction existe dans la plupart des tous les autre langage de programmation. Lorsque vous faites...

assert a_condition

... vous dites que le programme de test de condition, et de déclencher une erreur si la condition est fausse.

En Python, c'est à peu près équivalent à ceci:

if not condition:
    raise AssertionError()

Essayez-la dans le Python shell:

>>> assert True
>>> assert False
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError

Les Assertions peuvent inclure une option de message, et vous pouvez les désactiver lorsque vous avez terminé de débogage. Voir ici pour la documentation pertinente.

181voto

Neil Vass Points 1096

Comme d'autres réponses ont noté, assert est similaire à lancer une exception si une condition donnée n'est pas vrai. Une différence importante est que l'assertion des états ignoré si vous compilez votre code avec l'option d'optimisation. La documentation dit qu' assert expression peut mieux être décrit comme étant l'équivalent de

if __debug__:
   if not expression: raise AssertionError

Cela peut être utile si vous avez envie de tester votre code, puis relâchez une version optimisée lorsque vous êtes heureux qu'aucun de vos affirmation cas de l'échec lorsque l'optimisation est sur, l' __debug__ variable devient Faux et les conditions à éviter d'être évalué. Cette fonction permet également de vous attraper si vous êtes en s'appuyant sur l'affirme et ne réalisent pas qu'ils ont disparu.

56voto

Baltasarq Points 5164

D'autres ont déjà donné des liens vers de la documentation.

Vous pouvez essayer la procédure suivante dans un shell interactif:

>>> assert( 5 > 2 )
>>> assert( 2 > 5 )
Traceback (most recent call last):
  File "<string>", line 1, in <fragment>
builtins.AssertionError:

Le premier essai ne fait rien, alors que le second élève et d'exception. C'est le premier indice: les assertions est utile de vérifier que les conditions que doit être vrai dans une position donnée de votre code (généralement, le début (conditions préalables) et la fin d'une fonction (postconditions)).

les assertions sont en réalité très liés à la programmation par contrat, ce qui est très utile pour la pratique du génie:

http://en.wikipedia.org/wiki/Design_by_contract

21voto

Bohdan Points 1882

L’instruction assert a deux formes.

La forme simple, `` , équivaut à

La forme étendue, `` , équivaut à

18voto

Jacob Abraham Points 49

Les assertions sont un moyen systématique pour vérifier l’état interne d’un programme comme le programmeur devrait, dans le but d’attraper les insectes. Voir l’exemple ci-dessous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X