Je l'ai trouvé aujourd'hui en regardant une bibliothèque pour une API.Python - Pourquoi utiliser assert (required_param)?
def my_function(self, required_param=None):
assert(required_param)
... Do cool function stuff
Ne serait-il plus facile de le faire:
def my_function(self, required_param):
... Do cool function stuff
Ou, suis-je manque quelque chose? Le assert()
bien sûr vous donne une exception unifiée qui pourrait apparaître, mais à moins que vous ne vouliez que cette fonction échoue silencieusement pour faire quelque chose dans ce cas, ne l'auriez-vous pas plutôt brisé fort afin que vous puissiez attraper de telles erreurs tôt? Je n'ai jamais compris pourquoi les gens utilisent des assertions dans le code de production. Peut-être, je vais après avoir obtenu des réponses à ce sujet.
Mais dans ce cas, pourquoi pas 'if not required_param: ...' Je pense aussi que cela est sommaire. Peut-être que l'auteur a oublié de le sortir? Ou le remplacer par une exception plus informative? – gilesc
L'utilisation de assert en tant que fonction est également sommaire - voir http://stackoverflow.com/questions/5142418/what-is-the-use-of-assert-in-python/30770447#30770447 –