Uso de la palabra clave "global" en Python
Lo que entiendo al leer la documentación es que Python tiene un espacio de nombres separado para las funciones, y si quiero usar una variable global en esa función, necesito usarglobal
.
Estoy usando Python 2.7 y probé esta pequeña prueba
>>> sub = ['0', '0', '0', '0']
>>> def getJoin():
... return '.'.join(sub)
...
>>> getJoin()
'0.0.0.0'
Parece que las cosas funcionan bien incluso singlobal
. Pude acceder a la variable global sin ningún problema.
¿Me estoy perdiendo algo? Además, lo siguiente es de la documentación de Python:
Los nombres enumerados en una declaración global no deben definirse como parámetros formales o en un objetivo de control de bucle, definición de clase, definición de función o declaración de importación.
Si bien los parámetros formales y la definición de clase tienen sentido para mí, no puedo entender la restricción para el objetivo de control de bucle y la definición de función.