Usar variables globales en varios archivos en Python
Esta guía trivial trata sobre el uso de variables globales en varios archivos en Python. Pero antes de pasar al tema principal, veamos brevemente las variables globales y sus usos en varios archivos.
Variables globales en Python
Las variables globales son las variables que no forman parte del alcance de la función y se pueden usar globalmente en todo el programa. Esto sugiere que las variables globales también se pueden usar dentro o fuera del cuerpo de la función.
Veamos un ejemplo:
x = "my global var"
def fun1():
print("Inside fun1(): ", x)
fun1()
print("In global context: ", x)
Hemos definido una variable global x
en este código y le hemos asignado algún valor. Luego, imprimimos la variable x
dentro y fuera de la función para ver el valor en ambos alcances.
Producción:
El resultado sugiere que el valor de la variable es el mismo dentro y fuera de la función. Si necesitamos cambiar el valor de una variable global en algún ámbito local, como en una función, entonces debemos usar la palabra clave global
al declarar una variable.
Usar variables globales en varios archivos en Python
Si estamos usando varios archivos para nuestro programa y estos archivos necesitan actualizar la variable, entonces debemos declarar la variable con una palabra clave global
como esta:
global x
x = "My global var"
Considere un escenario de ejemplo en el que tenemos que lidiar con varios archivos de código de Python y una variable global de la lista de estudiantes. El archivo resource.py
tiene una lista global de los estudiantes, y prog.py
tiene un método para agregar estudiantes a esta lista global.
Podemos realizar el concepto usando el siguiente código:
Código- resource.py
:
def initialize():
global students
students = []
Código- prog.py
:
import resource
def addStudent():
resource.students.append("John")
resource.students.append("Dave")
Código- Main.py
:
import resource
import prog
resource.initialize()
prog.addStudent()
print(resource.students[0])
print(resource.students[1])
En el primer archivo resource.py
, hemos definido una función en la que declaramos una lista studentList
y la inicializamos en una lista vacía. En el siguiente archivo (es decir, prog.py
), hemos incluido el módulo resource
y luego hemos definido una función addStudent
, en la que hemos añadido dos objetos en la lista global studentList
.
En el archivo principal Main.py
, hemos incluido ambos módulos, resource
y prog
. Posteriormente, llamamos a la función inicializar
y agregarEstudiante
de ambos módulos, respectivamente.
Luego, cuando imprimimos los índices de la lista, obtuvimos el siguiente resultado:
Por lo tanto, podemos usar la palabra clave global
para definir una variable global en un archivo de Python para usar en otros archivos. Ahora, para acceder a la variable global de un archivo en otro archivo, importe el archivo que tiene la variable global como módulo en el otro archivo y acceda directamente a cualquier variable global del módulo importado sin complejidades adicionales.