Je vous ai donné un exemple (je lai testé) de fonction qui retournent plusieurs variables (c'est un des charmes de python; c'est plus difficile à faire avec Arduino / C(++)).
C'est une façon confortable de règler progressivement le problème des variables globales, qui peuvent rendre la lecture, le dépannage et l'acceleration du programme difficile -ça dépasse la pureté du style, qui m'indiffère-.
Ce bout de python me sert aussi à prendre en main deux testeurs de python, pylint -qui est ludique- et flake8 -qui recherche des erreurs qui peuvent s'averer serieuses.... Pour votre info: pylint indique que votre programme est plus beau que les miens, mais détecte des erreurs sérieuses (comparaison de booleans à True et False ). Il met presque autant de messages d'ererurs que vous avez de lignes de programme -et je ne vais pas vous soumettre à un bombardement. flake8 indique un peu le même type d'erreurs, mais est plus concis...
Le bout de programme que je vous ai passé s'execute (chmod +x ludo/multFonc.py && ludo/multFonc.py) et fait ce que je veux (retourne 3 variables)
Vous devez retourner explicitement toutes les variables qui sont en global et en sortie; si elles sont aussi en entrée, il faut en faire un parametre d'appel de la fonction. C'est lourd et peut causer des erreurs, mais vous pouvez faire cette manip progressivement avant que le programme ne devienne trop complexe... (en gardant une trace de la version qui marche, bien sûr)
C'est une façon confortable de règler progressivement le problème des variables globales, qui peuvent rendre la lecture, le dépannage et l'acceleration du programme difficile -ça dépasse la pureté du style, qui m'indiffère-.
Ce bout de python me sert aussi à prendre en main deux testeurs de python, pylint -qui est ludique- et flake8 -qui recherche des erreurs qui peuvent s'averer serieuses.... Pour votre info: pylint indique que votre programme est plus beau que les miens, mais détecte des erreurs sérieuses (comparaison de booleans à True et False ). Il met presque autant de messages d'ererurs que vous avez de lignes de programme -et je ne vais pas vous soumettre à un bombardement. flake8 indique un peu le même type d'erreurs, mais est plus concis...
Le bout de programme que je vous ai passé s'execute (chmod +x ludo/multFonc.py && ludo/multFonc.py) et fait ce que je veux (retourne 3 variables)
Vous devez retourner explicitement toutes les variables qui sont en global et en sortie; si elles sont aussi en entrée, il faut en faire un parametre d'appel de la fonction. C'est lourd et peut causer des erreurs, mais vous pouvez faire cette manip progressivement avant que le programme ne devienne trop complexe... (en gardant une trace de la version qui marche, bien sûr)
Statistics: Posted by dbrion1 — Fri Jan 19, 2024 3:19 pm