In Python gibt die Funktion globals() ein Wörterbuch aller im aktuellen globalen Bereich definierten Variablen und Funktionen zurück.

WBOY
Freigeben: 2023-08-27 21:25:06
nach vorne
905 Leute haben es durchsucht

In Python gibt die Funktion globals() ein Wörterbuch aller im aktuellen globalen Bereich definierten Variablen und Funktionen zurück.

In Python verfügt jedes Programm über eine Symboltabelle, die Informationen zu den im Programm definierten Namen (Variablen, Funktionen und Klassen) enthält. Mit der Funktion global() können wir auf die globale Symboltabelle zugreifen und diese bearbeiten und so wertvolle Informationen über die aktuellen globalen Variablen im Programm liefern. In diesem Artikel erfahren wir, wie diese globals()-Funktionen funktionieren und was wir mit dieser Funktion in Python machen können.

globals()-Funktionsübersicht

In Python verfügt jedes Programm über eine Symboltabelle, die Informationen zu den im Programm definierten Namen (Variablen, Funktionen, Klassen usw.) enthält. Eine Symboltabelle wird durch ein Wörterbuch dargestellt, in dem Namen Schlüssel sind und zugehörige Werte ihre aktuellen Werte oder Referenzen darstellen.

Die Funktion

globals() gibt ein Wörterbuch zurück, das die aktuelle globale Symboltabelle darstellt. Es bietet Zugriff auf alle globalen Variablen im aktuellen Bereich und ihre entsprechenden Werte. Durch die Untersuchung dieses Wörterbuchs können wir globale Variablen programmgesteuert abrufen, ändern oder löschen.

Grammatik

globals()
Nach dem Login kopieren

Hier akzeptiert die Funktion globals() keine Parameter, sondern gibt lediglich ein Wörterbuch zurück, das die globale Symboltabelle darstellt.

Globale Variablen abrufen

Das Abrufen globaler Variablen in Python kann mit der Funktion globals() erfolgen, die ein Wörterbuch zurückgibt, das die aktuelle globale Symboltabelle darstellt. Durch Zugriff auf dieses Wörterbuch und Iterieren seiner Elemente können Sie die Namen und Werte aller globalen Variablen im aktuellen Bereich abrufen.

Beispiel

Im folgenden Beispiel definieren wir drei globale Variablen: x, y und z. Wir definieren auch eine Funktion print_globals(), die die Funktion globals() aufruft, um die globale Symboltabelle abzurufen. Indem wir die Elemente des resultierenden Wörterbuchs durchlaufen, drucken wir die Namen und Werte aller globalen Variablen. Darüber hinaus können wir sehen, dass die Funktion print_globals() selbst auch in der globalen Symboltabelle existiert.

x = 10
y = 5
z = "Hello, World!"

def print_globals():
    global_vars = globals()
    for name, value in global_vars.items():
        print(f"{name}: {value}")

print_globals()
Nach dem Login kopieren

Ausgabe

__name__: __main__
__doc__: None
__package__: None
__loader__: <_frozen_importlib_external.SourceFileLoader object at 0x7f9b30a74a30>
__spec__: None
__annotations__: {}
__builtins__: <module 'builtins' (built-in)>
__file__: /home/cg/root/22219/main.py
__cached__: None
x: 10
y: 5
z: Hello, World!
print_globals: <function print_globals at 0x7f9b30c13d90>
Nach dem Login kopieren

Globale Variablen ändern

Mit der Funktion

globals() können wir nicht nur globale Variablen abrufen, sondern auch deren Werte ändern.

Beispiel

Im folgenden Beispiel definieren wir eine globale Variable x mit einem Anfangswert von 10. Die Funktion „modify_global()“ ruft mithilfe von „globals()“ die globale Symboltabelle ab und ändert den Wert von x auf 20, indem sie den Wörterbucheintrag direkt aktualisiert. Wenn wir den Wert von x vor und nach dem Aufruf der Funktion „modify_global()“ ausgeben, können wir sehen, dass die Änderung wirksam wurde.

x = 10

def modify_global():
    global_vars = globals()
    global_vars['x'] = 20

print("Before modification:", x)
modify_global()
print("After modification:", x)
Nach dem Login kopieren

Ausgabe

Before modification: 10
After modification: 20
Nach dem Login kopieren

Neue globale Variable hinzufügen

Wir können auch die Funktion globals() verwenden, um dynamisch neue globale Variablen hinzuzufügen. Schauen wir uns ein Beispiel an, das dasselbe demonstriert.

Beispiel

Im folgenden Beispiel definieren wir eine Funktion add_global(), die globals() verwendet, um eine neue globale Variable namens new_var zur globalen Symboltabelle hinzuzufügen. Nach dem Aufruf der Funktion geben wir den Wert von new_var aus, der bestätigt, dass die Variable erfolgreich hinzugefügt wurde und global zugänglich ist.

def add_global():
    global_vars = globals()
    global_vars['new_var'] = "I'm a new global variable!"

add_global()
print(new_var)
Nach dem Login kopieren

Ausgabe

I'm a new global variable!
Nach dem Login kopieren

Fazit

In diesem Artikel haben wir besprochen, was die Funktion globals() ist und wofür sie verwendet wird. Die Funktion globals() wird verwendet, um auf globale Variablen im Programm zuzugreifen und diese zu bedienen. Mithilfe dieser Funktion können wir globale Variablen dynamisch abrufen, ändern oder hinzufügen. Durch die Nutzung der Leistungsfähigkeit der Funktion globals() können Sie Ihre Python-Programmierkenntnisse verbessern, indem Sie eine bessere Kontrolle über die globalen Variablen Ihres Programms erhalten.

Das obige ist der detaillierte Inhalt vonIn Python gibt die Funktion globals() ein Wörterbuch aller im aktuellen globalen Bereich definierten Variablen und Funktionen zurück.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!