Я хотел бы знать, можно ли изменить (динамически) значение аргумента по умолчанию в dataclass
, чтобы добиться чего-то вроде этого:
from dataclasses import dataclass
@dataclass
class Foo:
bar = "foobar"
Foo.bar = "world"
foo1 = Foo(bar = "hello") # foo1.bar = "hello"
foo2 = Foo() # foo2.bar = "world"
Вы должны наследовать свой класс данных:
from dataclasses import dataclass
@dataclass
class Foo:
bar = "foobar"
Foo.bar = "world"
foo1 = Foo(bar = "hello") # foo1.bar = "hello"
foo2 = Foo() # foo2.bar = "world"
from dataclasses import dataclass
@dataclass
class NewFoo(Foo):
bar = "world"
foo1 = Foo(bar = "hello") # foo1.bar = "hello"
foo2 = NewFoo() # foo2.bar = "world"