Ich schreibe eine Klasse in Python und habe ein Attribut, dessen Berechnung relativ lange dauert. Daher möchte ich es nur einmal ausführen . Außerdem wird es nicht von jeder Instanz der Klasse benötigt, daher möchte ich es nicht standardmäßig in tun__init__
.
Ich bin neu in Python, aber nicht in der Programmierung. Ich kann mir einen Weg ausdenken, dies ziemlich einfach zu tun, aber ich habe immer wieder festgestellt, dass die 'Pythonic'-Art, etwas zu tun, oft viel einfacher ist als das, was ich mir aus meiner Erfahrung in anderen Sprachen ausgedacht habe.
Gibt es in Python einen "richtigen" Weg, dies zu tun?
Foo.something_expensive
. Alle diese Antworten beziehen sich auf zwischengespeicherte Instanzeigenschaften , was bedeutetsomething_expensive
, dass für jede neue Instanz neu berechnet wird, was in den meisten Fällen nicht optimal ist