Verwenden Sie globale Variablen in mehreren Dateien in Python

Naila Saad Siddiqui 15 Februar 2024
  1. Globale Variablen in Python
  2. Verwenden Sie globale Variablen in mehreren Dateien in Python
Verwenden Sie globale Variablen in mehreren Dateien in Python

In dieser trivialen Anleitung geht es um die Verwendung globaler Variablen in mehreren Dateien in Python. Aber bevor wir uns dem Hauptthema zuwenden, wollen wir uns kurz globale Variablen und ihre Verwendung in mehreren Dateien ansehen.

Globale Variablen in Python

Globale Variablen sind die Variablen, die nicht Teil des Funktionsumfangs sind und global im gesamten Programm verwendet werden können. Dies deutet darauf hin, dass die globalen Variablen auch innerhalb oder außerhalb des Funktionskörpers verwendet werden können.

Schauen wir uns ein Beispiel an:

x = "my global var"


def fun1():
    print("Inside fun1(): ", x)


fun1()
print("In global context: ", x)

Wir haben in diesem Code eine globale Variable x definiert und ihr einen Wert zugewiesen. Dann haben wir die Variable x innerhalb und außerhalb der Funktion gedruckt, um den Wert in beiden Bereichen zu sehen.

Ausgang:

Globale Python-Variable - Ausgabe

Die Ausgabe legt nahe, dass der Wert der Variablen innerhalb und außerhalb der Funktion gleich ist. Wenn wir den Wert einer globalen Variablen in einem lokalen Gültigkeitsbereich ändern müssen, z. B. in einer Funktion, müssen wir beim Deklarieren einer Variablen das Schlüsselwort global verwenden.

Verwenden Sie globale Variablen in mehreren Dateien in Python

Wenn wir mehrere Dateien für unser Programm verwenden und diese Dateien die Variable aktualisieren müssen, sollten wir die Variable mit einem Schlüsselwort global wie folgt deklarieren:

global x
x = "My global var"

Stellen Sie sich ein Beispielszenario vor, in dem wir mit mehreren Python-Codedateien und einer globalen Variablen der Schülerliste umgehen müssen. Die Datei resource.py enthält eine globale Liste der Schüler, und die Datei prog.py verfügt über eine Methode, um Schüler an diese globale Liste anzuhängen.

Wir können das Konzept mit folgendem Code realisieren:

Code- resource.py:

def initialize():
    global students
    students = []

Code- prog.py:

import resource


def addStudent():
    resource.students.append("John")
    resource.students.append("Dave")

Code- Main.py:

import resource
import prog

resource.initialize()
prog.addStudent()
print(resource.students[0])
print(resource.students[1])

In der ersten resource.py-Datei haben wir eine Funktion definiert, in der wir eine Liste studentList deklarieren und auf eine leere Liste initialisieren. In der nächsten Datei (also prog.py) haben wir das Modul resource eingebunden und dann eine Funktion addStudent definiert, in der wir zwei Objekte in der globalen Liste studentList angehängt haben.

In der Hauptdatei Main.py haben wir beide Module resource und prog eingebunden. Später haben wir die Funktion initialize bzw. addStudent beider Module genannt.

Als wir anschließend die Listenindizes druckten, erhielten wir die folgende Ausgabe:

Globale Python-Variable in allen Dateien – Ausgabe

Daher können wir das Schlüsselwort global verwenden, um eine globale Variable in einer Python-Datei zur Verwendung in den anderen Dateien zu definieren. Um nun auf die globale Variable einer Datei in einer anderen Datei zuzugreifen, importieren Sie die Datei mit der globalen Variable als ein Modul in der anderen Datei und greifen direkt auf jede globale Variable des importierten Moduls ohne zusätzliche Komplexität zu.

Verwandter Artikel - Python Scope