Python: Wie man eine Instanzmethode von einer Klassenmethode derselben Klasse aufruft

8

Ich habe eine Klasse wie folgt:

%Vor%

und ich würde gerne tun können:

%Vor%

Ich meine, ohne eine neue Instanz von MyClass zu erstellen, aber offensichtlich ist das nicht so einfach, weil der Aufruf von MyClass.new() throws TypeError: unbound method get_params() must be called with MyClass instance as first argument (got nothing instead)

Gibt es einen Weg, dies zu erreichen? Danke

    
Gerard 07.05.2013, 19:52
quelle

1 Antwort

5

Nein, Sie können und sollten keine Instanzmethode von einer Klasse ohne Instanz aufrufen. Das wäre sehr schlecht . Sie können jedoch eine Klassenmethode von und eine Instanzmethode aufrufen. Optionen sind

  1. Machen Sie get_param eine Klassenmethode und korrigieren Sie Referenzen darauf
  2. have __init__ call get_param , da es sich um eine Instanzmethode handelt

Sie könnten auch an einem AttrDict interessiert sein, denn das sieht so aus, als ob Sie versuchen, es zu tun .

    
cmd 07.05.2013, 20:04
quelle