Code: Alles auswählen
class Helper:
def machA(self,x):
return x + 5
def machBC(self,y,z):
return y + z
class Macher:
def __init__(self,ID,helper):
self.ID = ID
self.helper = helper
def leglos(self):
a = self.helper.machA(randint(5))
b = self.helper.machBC(randint(5),a)
return b
H = Helper()
for i in range(3):
Macher(i,H).leglos()
Nun soll es aber viele solche Macher geben und auch sehr viele hilfsfunktionen innerhalb der Helper Klasse.
Zusätzlich soll der Helper, jedesmal wenn eine seiner Funktionen aufgerufen wird wissen, welcher Macher diese Fkt aufgerufen hat (um evlt unterschiedliches zu returnen)
Der direkteste Weg der mir nun einfällt, wäre bei jeder einzelnen Funktion zb noch die ID des Machers mit zu übergeben, also "a = self.helper.machA(randint(5),self.ID)" und ebenfalls dann im Helper in der Funktion Code zufügen, damit diese ID ausgelesen wird.
Nun frage ich mich aber, ob es da nicht einen eleganteren Weg für gibt, bei dem ich denselben Code weniger oft in jeder einzelnen Funktion wiederholen muss?