Python - jeden z nejpopulárnějších a nejflexibilnějších programovacích jazyků na světě. Jednou z nejsilnějších schopností jazyka je objektově orientované programování (OOP). V objektově orientovaném programování se třídy používají k vytváření objektů, které obsahují proměnné a metody. Někdy se nabízí otázka, Jak získat všechny proměnné třídy v Pythonu?
Existuje několik způsobů, jak získat přístup k proměnným třídy v Pythonu. Ale jedním z nejjednodušších a nejelegantnějších způsobů je použití funkce dir(). Funkce dir () vrací seznam jmen definovaných v daném jmenném prostoru nebo pokud je poskytnut argument, seznam atributů daného objektu. Lze jej tedy použít k získání seznamu proměnných třídy.
Zde je jednoduchý příklad, který ukazuje použití funkce dir () k získání všech proměnných třídy:
class MyClass: def __init__(self, x, y, z): self.x = x self.y = y self.z = z my_object = MyClass(1, 2, 3) class_variables = [var for var in dir(MyClass) if not callable(getattr(MyClass, var)) and not var.startswith("__")] print(class_variables)
V důsledku provádění tohoto kódu bude uveden seznam proměnných třídy MyClass: ['x', 'y', 'z']. Tímto způsobem získáváme všechny proměnné třídy v Pythonu pomocí funkce dir ().
I když je funkce dir() jednoduchým a účinným způsobem, jak získat všechny proměnné třídy v Pythonu, stojí za zmínku, že také vrací všechny metody třídy, nejen proměnné. Pokud potřebujete získat pouze proměnné třídy, můžete použít další podmínky, jako je kontrola callable a kontrola předpony "__".
Metoda pro získání všech proměnných třídy v Pythonu
Python poskytuje pohodlný způsob, jak získat všechny proměnné třídy pomocí vestavěné funkce vars(). Tato funkce vrací slovník obsahující všechny proměnné třídy a jejich hodnoty.
Pro použití funkce vars() jako argument jí stačí uvést jméno třídy. Pokud máte například třídu se jménem MyClass, můžete získat všechny jeho proměnné následovně:
class MyClass:def __init__(self):self.variable1 = 10self.variable2 = "Hello, world!"my_object = MyClass()class_variables = vars(MyClass)print(class_variables)
V důsledku spuštění kódu získáte slovník s proměnnými třídy:
Funkce tedy vars() je to snadný a pohodlný způsob, jak získat všechny proměnné třídy v Pythonu.
Příklad použití metody k získání proměnných třídy v Pythonu
V Pythonu lze k získání seznamu všech proměnných třídy použít metodu vars ().
Vezměme si následující příklad:
class MyClass:x = 5y = "Hello"my_object = MyClass()variables = vars(my_object)for variable, value in variables.items():print(f" = ")
Výsledek provádění tohoto kódu bude následující:
| Proměnná | Hodnota |
|---|---|
| x | 5 |
| y | Hello |
Metoda vars() tedy umožňuje získat všechny proměnné třídy a pracovat s nimi ve vhodném formátu.