Re: Ordre d'évaluation des paramètres d'une fonction
Laurent Pointal, le 25/10/2007 a écrit :
> Pierre Maurette a écrit :
> <zip>
>> La question que je me pose, c'est donc bien si ce séquencement est,
>> contrairement au C, garanti.
>
> Pour la garantie, il faudrais peut-être poser la question au moins sur
> comp.lang.python - histoire de toucher les développeurs principaux de Python
> [je ne crois pas qu'il y en ait sur fclp] - ou sur la liste de développement
> Python si clp ne donne pas de résultat...
Il vaut mieux que j'évite de poster en anglais. Je le lis à peu près,
encore que pour les nuances (je comprends tous les mots, mais le sens à
l'envers), mais c'est une horreur pour écrire.
Avant d'obtenir d'Amaury la réponse (elle est en 5.13 du Language
Reference), j'en étais arrivé à la conclusion que je sodomisais
inutilement le diptère. Tous les signes montraient que je me posais des
questions dont la réponse était tellement évidente pour un vrai
programmeur Python que les sources Google étaient quasi inexistantes.
En particulier s'il y avait eu possiblité d'effets indésirables,
j'aurais obtenu des dizaines de réponses Google pertinentes avec:
python function parameters OR arguments "side effect"
Il n'en est rien.
> Note: tu peux utiliser le module de désassemblage dis pour voir le code
> machine Python... mais ça ne donnera pas d'information sur la garantie que
> l'évaluation se fait toujours dans cet ordre.
Merci. Donc, j'ai testé dis. Des tests un peu vicieux me suffisaient à
constater que le comportement sur mes machines était toujours conforme
à la règle la plus logique. Mais avec dis, c'est encore plus clair.
--
Pierre Maurette
|