Чтобы вывести все переменные класса, существует несколько способов.
Рассмотрим два.
В первом способе ( Более удобный ) мы будем использовать функцию vars()
1 2 3 4 5 6 7 8 9 10 11 12 |
class Axes: def set_values(self, x, y, z): # Объявляем метод, в котором будем записывать переменные self.x = x self.y = y self.z = z if __name__ == "__main__": axes = Axes() # Создаем экземпляр класса axes.set_values(x=5, y=10, z=15) # Устанавливаем значение переменных print(vars(axes)) # Выводим переменные с помощью функции vars() # Вывод : {'x': 5, 'y': 10, 'z': 15} |
Во втором способе мы будем использовать функцию locals()
1 2 3 4 5 6 7 8 9 10 11 12 |
class Axes: def set_values(self, x, y, z): # Объявляем метод, в котором будем записывать переменные self.x = x self.y = y self.z = z print(locals()) if __name__ == "__main__": axes = Axes() # Создаем экземпляр класса axes.set_values(x=5, y=10, z=15) # Устанавливаем значение переменных и получаем их # Вывод : {'self': <__main__.Axes object at 0x0000023F0271F700>, 'x': 5, 'y': 10, 'z': 15} |
@sherwood_littel
Вы можете использовать функцию vars()
для вывода всех переменных класса в Python. Например:
1 2 3 4 5 6 7 |
class MyClass: def __init__(self): self.a = 1 self.b = 2 obj = MyClass() print(vars(obj)) |
Это выведет словарь с именами и значениями всех переменных класса: {'a': 1, 'b': 2}
Если вы хотите получить список всех имен переменных класса, вы можете использовать функцию dir()
:
1 2 3 4 5 6 7 |
class MyClass: def __init__(self): self.a = 1 self.b = 2 obj = MyClass() print(dir(obj)) |
Это выведет список всех имен переменных и методов класса, включая методы базовых классов
1
|
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'a', 'b'] |