Alle Python Variablen in Array bekommen?

2 Antworten

Schau dir die eingebauten Funktionen globals() und locals() an.

Die geben dir für die jeweiligen Scopes sämtliche gebundenen Namen.

Die Frage ist halt, wozu du das brauchst - in der normalen Programmierung verwendet man sowas nicht, das ist eher für Fehlersuche relevant.

Sofern die Variablen global sind, werden sie intern in einer Tabelle geführt, an deren Inhalt du mit der globals-Funktion herankommst.

Beispiel:

some_number = 123
all_vars_of_module = globals()
print(all_vars_of_module["some_number"]) # 123

Innerhalb einer Funktion kannst du die locals- oder vars-Funktion benutzen.

Beispiel:

def do_something():
  some_number = 123
  print(locals()["some_number"]) # 123

Michi123170 
Fragesteller
 19.01.2024, 21:48

Super gibts es auch die möglichkeit alle variablen einer Klassen Instanz zu bekommen?

0
regex9  19.01.2024, 22:49
@Michi123170

Ja, via vars. Die Rückgabe ist ein dict.

Beispiel:

class Car:
  def __init__(self):
    self.color = "red"
    self.number_of_wheels = 4

some_car = Car()
print(vars(some_car))
0