Dataclasses: init=False auf Ebene der Klasse und dem Attribute

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)
participants (1)
-
c.buhtz@posteo.jp