Commit fa7e1da5 authored by Guyot's avatar Guyot

Ajout d'un lien sur le référencement/déréférencement des variables en python

parent d10d3792
......@@ -1084,7 +1084,7 @@ firstline=88,lastline=95,numberstyle=\tiny,numbersep=6pt]
La strucutre \verb|try-except-else| est bien connue des programmeurs. L'idée est ici d'intercepter l'erreur produite quand on tente d'imprimer la latitude ou la longitude sur la sortie standard. C'est ce qui est fait avec les lignes \ref{ligne:try1} à \ref{ligne:try2}. Évidemment, cela signifie que cette instruction \verb|print| ne doit pas être retirée. L'exception recherchée est de type \verb|NameError| en raison de l'erreur reportée ci-dessus. Elle est levée à la ligne \ref{ligne:except}. Si elle ne l'est pas, le code se poursuit à la ligne \ref{ligne:else} à la suite du \verb|else:|.
Cela fonctionne très bien si l'image non géolocalisée est la première. Sinon, les variables latitude et longitude sont référencées et l'exception n'est plus levée. Il est donc nécessaire de les déréférencer à la fin de chaque boucle, comme cela est fait à la ligne \ref{ligne:deref}.
Cela fonctionne très bien si l'image non géolocalisée est la première. Sinon, les variables latitude et longitude sont référencées et l'exception n'est plus levée. Il est donc nécessaire de les déréférencer\footnote{Concernant le référencement/déréférencement, voir \url{https://zestedesavoir.com/tutoriels/3163/variables-scopes-et-closures-en-python/}} à la fin de chaque boucle, comme cela est fait à la ligne \ref{ligne:deref}.
\subsection{Améliorations}
Finalement, le code est évidemment améliorable, notamment au niveau des deux fonctions de latitude et longitude. Il est possible de les regrouper en une seule et cela devrait être fait. Mais, comme il est probable que des élèves commencent par écrire ces deux fonctions de la même manière, nous les avons laissées pour souligner que le travail d'un informaticien ne devrait pas s'arrêter là.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment