tgoop.com/pyproglib/7083
Create:
Last Update:
Last Update:
😃 attrs: простота написания Python-классов без бойлерплейта
attrs — это Python-пакет, который снимает рутину при написании классов и автоматически реализует «ду́ндер»-методы (__init__
, __repr__
, __eq__
и др.).
📌 Используется даже NASA
Основная цель — писать лаконичный и корректный код без потерь производительности.
Пример:
from attrs import asdict, define, make_class, Factory
@define
class SomeClass:
a_number: int = 42
list_of_numbers: list[int] = Factory(list)
def hard_math(self, another_number):
return self.a_number + sum(self.list_of_numbers) * another_number
sc = SomeClass(1, [1, 2, 3])
print(sc) # SomeClass(a_number=1, list_of_numbers=[1, 2, 3])
print(sc.hard_math(3)) # 19
print(asdict(sc)) # {'a_number': 1, 'list_of_numbers': [1, 2, 3]}
attrs автоматически добавляет:
__repr__
__init__
и управление аргументамиFactory
)make_class
)#буст