dataclass

Sep 03, 2020 11:42

Насколько wtf'ным звучит использование @dataclass для не-датакласса с целью экономии на __init__'е ( Read more... )

python

Leave a comment

Comments 9

shredder_by September 3 2020, 09:25:02 UTC
dataclass же только добавляет плюшек, он ничего не отбирает и не запрещает иметь (метода run)

Reply

amarao_san September 3 2020, 11:07:07 UTC
Это я понимаю. Вопрос в том, насколько wtf'но иметь вот такое:

@dataclass
class Foo():
x: int
y: int
z: int
foo: str
bar: str

def do_something(self):
do(...)

Reply


elf_wired September 3 2020, 10:39:27 UTC
А если унаследовать класс от датакласса и добавить поведение, это будет менее wtf-но?
У меня если честно с интуицией тут неважно, буду благодарен за ответ.

Reply


tzirechnoy September 3 2020, 11:06:56 UTC
Норм. Мнениев разработчиков языка по поводу мнемоники конструкцый -- вещь любопытная, но не является ни с какой стороны истиной в последней инстанцыи.

А уж когда это разработчики питона -- так тем более.

Reply


tzirechnoy September 3 2020, 11:08:05 UTC
То есть куда более важным является то ,что реально даёт ключевое слово @dataclass, чем какие-то мнения по поводу даталогии класса с этим ключевым словом.

Reply

amarao_san September 3 2020, 11:09:00 UTC
Ну, имена - это важно. Я пытаюсь понять, стоят ли плюшки от уменьшения boilerplate'а WTF'ов у читающего.

Reply

edo_rus September 3 2020, 12:03:23 UTC
WTF'ов у читающего

если это разово - можно комментарий добавить

Reply


uzixls September 3 2020, 11:56:35 UTC
from dataclasses import dataclass
generate_default_data_init_for_class = dataclass

Reply


Leave a comment

Up