Hallo,
ich versuche gerade mit dataclasses warum zu werden. Das hier wird so
eine eigentlich-kenne-ich-schon-die-Antwort-Frage, aber da ich so wenig
Erfahrung mit dieser Materie habe, möchte ich meine eigene Antwort
gerne von ein paar Erfahreneren Leuten verifiziert wissen.
Der folgende Code funktioniert, aber ich stelle mir die Frage, ob es
Sinn macht "init=False" auf ebene der Klasse und auf Ebene des
Attributes gleichzeitig zu nutzen.
Ziel ist es, dass das Attribute nicht automatisch initialisiert
wird. Das wird ja eigentlich schon dadurch erreicht, dass ich
__init__() selbst schreibe und nicht durch dataclass automatisch
genrieren lassen.
Somit ist "field(init=False)" auf einem einzelnen Attribute eigentlich
überflüssig.
Ist diese Einschätzung korrekt?
#!/usr/bin/env pyhton3
from dataclasses import dataclass, field
@dataclass(init=False)
class Foo:
a: int
b: int = field(init=False)
def __init__(self, a):
self.a = a
if __name__ == '__main__':
f = Foo(1)