tgoop.com/pyproglib/6105
Create:
Last Update:
Last Update:
dir()
и vars()
— для чего они нужны?
Когда вы работаете в Python REPL или отлаживаете код, иногда полезно быстро взглянуть на объект, с которым вы не до конца знакомы. В такие моменты на помощь приходят две удобные функции: dir()
и vars()
.dir()
— возвращает список всех атрибутов объекта, включая методы и атрибуты класса. vars()
— возвращает словарь атрибутов, которые живут непосредственно в объекте. Методы и атрибуты класса в этом списке отсутствуют.
from dataclasses import dataclass
@dataclass
class Rectangle:
width: float
height: float
@property
def area(self):
return self.width * self.height
Мы создаём объект прямоугольника:
rect = Rectangle(3, 4)
Вот что нам покажет
dir()
:['__annotations__', '__class__', '__dataclass_fields__', '__dataclass_params__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__match_args__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__replace__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'area', 'height', 'width']
А вот что покажет
var()
:{'width': 3, 'height': 4}
#советы