Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich lokale Variablen in Python dynamisch festlegen und darauf zugreifen?

Wie kann ich lokale Variablen in Python dynamisch festlegen und darauf zugreifen?

Barbara Streisand
Freigeben: 2024-12-18 22:31:15
Original
522 Leute haben es durchsucht

How Can I Dynamically Set and Access Local Variables in Python?

Zugriff auf dynamisch festgelegte lokale Variablen in Python

Trotz vorheriger Vorschläge ist die direkte Änderung lokaler Variablen durch locals() unzuverlässig und undefiniert. Stattdessen können mehrere praktische Ansätze verwendet werden, um eine dynamische Manipulation lokaler Variablen zu erreichen.

Wörterbuchmanipulation

Verwenden Sie ein Wörterbuch, um dynamische lokale Variablen zuzuweisen und darauf zuzugreifen:

d = {}
d['xyz'] = 42
print(d['xyz'])
Nach dem Login kopieren

Objektattribute

Legen Sie Attribute für ein Objekt fest, um dynamische lokale Objekte zu erstellen Variablen:

class C: pass

obj = C()
setattr(obj, 'xyz', 42)
print(obj.xyz)
Nach dem Login kopieren

Hinweis:

Der Zugriff auf Variablen in Nicht-Funktions-Namespaces (Module, Klassendefinitionen, Instanzen) umfasst normalerweise Wörterbuchsuchen. Funktions-Locals können hinsichtlich der Geschwindigkeit optimiert werden und eine direkte Änderung von Locals() innerhalb einer Funktion ist im Allgemeinen nicht möglich.

IronPython-Ausnahme

In IronPython ist der explizite Aufruf von Locals( ) gibt die lokalen Variablen als Wörterbuch zurück. Durch das Binden eines anderen Namens an lokale Variablen innerhalb einer Funktion wird Zugriff auf die lokalen Variablen des Bindungsbereichs gewährt.

Fazit

Die Verwendung von Wörterbüchern oder Objektattributen bietet zuverlässige Methoden für dynamische Einstellungen lokale Variablen in Python. Vermeiden Sie es, sich auf die direkte Änderung von locals() zu verlassen, um unvorhersehbares Verhalten zu verhindern.

Das obige ist der detaillierte Inhalt vonWie kann ich lokale Variablen in Python dynamisch festlegen und darauf zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage