149 votes

affirmation python avec et sans parenthèse

Voici quatre invocations simples d'assertion :

>>> assert 1==2
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
AssertionError

>>> assert 1==2, "hi"
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
AssertionError: hi

>>> assert(1==2)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
AssertionError

>>> assert(1==2, "hi")

Notez que le dernier ne soulève pas d'erreur. Quelle est la différence entre appeler assert avec ou sans parenthèse qui provoque ce comportement ? Ma pratique est d'utiliser la parenthèse, mais ce qui précède suggère que je ne devrais pas.

36voto

karantan Points 685

Vous pouvez casser la déclaration d'affirmation sans \ comme ceci :

foo = 7
assert foo == 8, (
    'derp should be 8, it is ' + str(foo))

Ou si vous avez un message encore plus long :

foo = 7
assert foo == 8, (
    'Lorem Ipsum is simply dummy text of the printing and typesetting '
    'industry. Lorem Ipsum has been the industry\'s standard dummy text '
    'ever since the 1500s'
)

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