H
Hello World
@hw_code1.9K подп.
6.9Kпросмотров
18 декабря 2023 г.
Score: 7.6K
Ну и напоследок еще один немаловажный момент, связанный с датаклассами. Иногда нам в таком классе нужна чисто классовая переменная (сори за масло масляное, cls var). Рассмотрим на примере с датаклассами и без. Создание переменной класса Без датакласса мы бы написали так class User: cvar: float = 0.5 def init(self, user_id: int, name: str) -> None: self.user_id = user_id self.name = name Используя датакласс мы бы написали так from typing import ClassVar @dataclass class User: cvar: ClassVar[float] = 0.5 user_id: int = field(default_factory=my_super_ultra_id_func) name: str = field(default="") В последнем примере вернул поля и для user_id и для name, поскольку именованый cvar должен был бы по идее идти после них, но я оставил его в начале. Здесь в принципе без детальных пояснений. С typing наверняка все знакомы, если на норм проектах пишете... Как я и говорил, датаклассы абузят понятие классовой переменной, и базовый синтаксис в классах, но зато взамен вы получаете множество уже реализованных "под капотом" методов для работы с данными. В целом, справедливый обмен. Если остались какие то вопросы, в доке все довольно хорошо объяснено, и всегда можно заглянуть туда. @hw_code
6.9K
просмотров
1242
символов
Нет
эмодзи
Нет
медиа

Другие посты @hw_code

Все посты канала →
Ну и напоследок еще один немаловажный момент, связанный с да — @hw_code | PostSniper