Methode zu Klasse in anderer Datei hinzufügen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Mensch
User
Beiträge: 1
Registriert: Freitag 23. April 2010, 11:22

Hallo zusammen,

ich habe das Forum nach meiner Frage durchsucht, aber leider nichts gefunden, daher:

Kann mir jemand sagen wie ich zu einer Klasse eine Methode in einer anderen Datei hinzufügen kann? Ich habe eine Klasse die von einem anderen Tool automatisch generiert wurde. Die Datei, in der die Klasse steht, möchte ich nicht editieren, da meine Änderungen bei einem Update immer wieder verloren gehen würden. Daher möchte ich der Klasse gerne in einem anderen File eine Methode hinzufügen. Kann mir jemand sagen, ob und wie das in Python machbar ist?

Viele Grüße
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Code: Alles auswählen

import modul

methode = lambda x: x

modul.klasse.methode = methode
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

Hi,

Stichwort: Vererbung!
BlackJack

Würde mich da anschliessen und Vererbung als sauberere Lösung statt "monkey patching" verwenden.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Code: Alles auswählen

class Mann(Mensch):
    pass
SCNR :twisted:
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

cofi hat geschrieben:

Code: Alles auswählen

class Mann(Mensch):
    pass
SCNR :twisted:
Und(im streng biblischen Sinne)

Code: Alles auswählen

class Frau(Mann):
    pass
oder was? *SCNR* ;)
BlackJack

@Darii: Müsste das biblisch nicht eher so lauten?

Code: Alles auswählen

class Frau(type(ADAM.rippen[0])):
     pass
:-)
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

War das nicht die 13. ? :twisted:
Antworten