Utilisation du mot-clé “global” en Python

| | | | | | | | | | | |

Ce que j'ai compris en lisant la documentation, c'est que Python a un espace de noms séparé pour les fonctions, et si je veux utiliser une variable globale dans cette fonction, je dois utiliser global.

J"utilise Python 2.7 et j"ai essayé ce petit test

>>> sub = ["0", "0", "0", "0"] >>> def getJoin(): ... return ".".join(sub) ... >>> getJoin() "0.0.0.0" 

Il semble que les choses fonctionnent bien même sans global. J'ai pu accéder à la variable globale sans aucun problème.

Quelque chose me manque-t-il ? De plus, voici la documentation Python :

Les noms répertoriés dans une instruction globale ne doivent pas être définis en tant que paramètres formels ou dans une cible de contrôle de boucle for, une définition de classe, une définition de fonction ou une instruction d'importation.

Bien que les paramètres formels et la définition de classe aient un sens pour moi, je ne suis pas en mesure de comprendre la restriction sur la cible de contrôle de la boucle for et la définition de la fonction.