Ich betrachte drei Möglichkeiten zur Implementierung der Helferfunktion, d. H. Eine Funktion, die nur von einer bestimmten Methode innerhalb einer Klasse aufgerufen wird. Die Optionen sind:Hilfefunktion innerhalb der Klasse - Vor- und Nachteile für verschiedene Ansätze
- definieren eine externe Funktion
- Definieren Sie eine Funktion der Klasse
- Definieren Sie eine Funktion in der Aufruffunktion ist
Hier ein minimaler Code die drei Optionen zeigt:
class test(object):
def mytest1(self, n):
return outloop(n)
def mytest2(self, n):
return self.inloop(n)
def inloop(self, n):
if n < 0:
return 0
return self.inloop(n - 1) + 1
def mytest3(self, n):
def innerloop(n):
if n < 0:
return 0
return innerloop(n - 1) + 1
return innerloop(n)
def outloop(n):
if n < 0:
return 0
return outloop(n - 1) + 1
Ich habe Leistungen getestet und alle drei scheint in etwa gleich zu sein. Meine Frage: Können Sie mir einige Überlegungen mitteilen, die ich bei der Wahl zwischen den drei Optionen beachten sollte?
Ich werde schätzen, architektonische Einblicke und Anleitung zu bekommen, wenn Sie denken, dass jeder verwendet werden sollte.