Was ist daran eine Lösung? Wieso benutzen die vorhandenen Scripte jetzt Deine neue Klasse? Magisches Wissen?RedSharky hat geschrieben:Ich habe eine Lösung gefunden:
Code: Alles auswählen
class Fahrzeug (modulname.Fahrzeug): # Erzeugt eine neue Klasse aus der Alten is_new = True; modulname.Fahrzeug = Fahrzeug # Ersetzt die alte klasse mit der Neuen - Voila
BioSQL erweitern, wie? Vererbung?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ja. Aber das funktioniert ja nur, wenn das im selben Script steht, welches dann ausgeführt werden soll?!? Und genau das wollte der OP ja ursprünglich vermeiden, damit er nicht zu viel Code anfassen muss.DasIch hat geschrieben:@Hyperion Die letzte Zeile hast du schon gesehen?
Diese Lösung nutzt monkey patching, genau dass wovon BlackJack in seinem Post abgeraten hat.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Der Patch muss ausgeführt werden bevor die Klasse genutzt wird, dass ist etwas problematisch wenn andere Module from-importe Machen, diese Module müssen ebenfalls nach dem Patch importiert/ausgeführt werden. Allerdings funktioniert es durchaus interpreterweit.Hyperion hat geschrieben:Ja. Aber das funktioniert ja nur, wenn das im selben Script steht, welches dann ausgeführt werden soll?!?DasIch hat geschrieben:@Hyperion Die letzte Zeile hast du schon gesehen?
Diese Lösung nutzt monkey patching, genau dass wovon BlackJack in seinem Post abgeraten hat.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Eben. Und der OP hat wohl mehrere fertige Scripte (die wohl Bestandteil des Paketes sind), die er nutzt. Also muss er ja nun diese Scripte anfassen und mittels des imports seines eigenen Moduls das alte überschreiben. Genau das wollte er urspünglich nicht - daher meine NachfrageDasIch hat geschrieben: Der Patch muss ausgeführt werden bevor die Klasse genutzt wird, dass ist etwas problematisch wenn andere Module from-importe Machen, diese Module müssen ebenfalls nach dem Patch importiert/ausgeführt werden. Allerdings funktioniert es durchaus interpreterweit.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert