Dieser Artikel beantwortet vier wichtige Fragen zum dynamischen Zugabe von Methoden zu Python -Objekten. Wir werden verschiedene Ansätze und Best Practices untersuchen. Dies wird hauptsächlich durch die Verwendung der
-Funktion erreicht. Mit an die setattr()
-Schunfallinstanz. Jetzt verhält sich setattr()
so, als hätte es eine Methode namens
-Klasse selbst nicht verändert; Die Methode wird nur zur spezifischen Instanz hinzugefügt
class MyClass: def __init__(self, name): self.name = name obj = MyClass("Example") def new_method(self): print(f"Hello from the dynamically added method! My name is {self.name}") setattr(obj, 'dynamic_method', new_method) obj.dynamic_method() # Output: Hello from the dynamically added method! My name is Example
Wie kann ich zur Laufzeit eine Methode zu einer Python -Klasse -Instanz hinzufügen? new_method
setattr(obj, 'dynamic_method', new_method)
Die Antwort entspricht der vorherigen Frage. Die Verwendung von obj
ist der primäre Weg, um dies zu erreichen. Der Schlüssel ist zu verstehen, dass das Hinzufügen einer Methode zu einer dynamic_method
Instanz obj
die Klassendefinition nicht ändert. Die Methode wird nur zu dieser spezifischen Instanz hinzugefügt. Eine andere später erstellte dynamic_method
-Schunkleininstanz hat die MyClass
-Methode nicht. Überbeanspruchung kann zu Code führen, der schwerer zu verstehen und zu warten ist. Hier sind einige Best Practices: obj
Das obige ist der detaillierte Inhalt vonWie füge ich Dynamik Methoden zu Objekten in Python hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!