Forum: PC-Programmierung Python: 'import myClass' rückgängig machen


von brechpunkt (Gast)


Lesenswert?

Hallo,

ich bin gerade dabei eine Klasse in python zu schreiben. Momentan ist 
meine Vorgehensweise diese zu testen so:
Ein Editor ist offen, in der ich meine Änderungen einfüge.
Ein zweiter Editor ist offen, in dem ich (im selben Pfad befindend) 
diese Klasse so aufrufe:
user@pc: python
>>> import myClass
>>> myObj = myFile.myClass()
>>> myObj.myFunc()

Wenn ich dann in der Konsole die Fehlermeldung sehe, schließe ich den 
zuvor aufgerufenen Python-Interpreter, mache meine Änderung im anderem 
Fenster und starte den Python-Interpreter wieder neu und gebe meine 
oberen Angaben erneut ein.

Irgendwie kann das doch aber nicht der "richtige" Weg sein. Kann man die 
mit import eingebundene Klasse irgendwie entfernen um sie danach erneut 
mit 'import' einbinden zu können? Oder geht ihr einen gänzlich anderen 
Weg?

von Vlad T. (vlad_tepesch)


Lesenswert?

Hört sich umständlich an.

wieso machst du den Test im Ineraktiven Modus und packst den Testcode 
nicht auch in eine Datei und führst diese als Python-Script aus?

von Oliver R. (Gast)


Lesenswert?

Ein Import erzeugt in Python ein Objekt, das mit del wieder gelöscht 
werden kann:

del myClass

Man kann aber hier auch alternativ die reload-Funktion versuchen:

reload(myClass)

von brechpunkt (Gast)


Lesenswert?

Das mit dem del und reload war das was ich gesucht hatte.

Die Klasse direkt auf der Konsole aus zu führen, indem ich den Code mit 
in das Script packe ist aber sicher praktischer.

Danke für die Tipps.

von brechpunkt (Gast)


Lesenswert?

Kann jemand ein PDF zum Download oder eine Webseite empfehlen, in der 
man relativ schnell an Python-Programmierung herangeführt wird? Eine 
Seite mit relativ kurzen Beispielen wäre praktisch.

von Mark B. (markbrandis)


Lesenswert?

brechpunkt schrieb:
> Kann jemand ein PDF zum Download oder eine Webseite empfehlen, in der
> man relativ schnell an Python-Programmierung herangeführt wird? Eine
> Seite mit relativ kurzen Beispielen wäre praktisch.

Learn 90% of Python in 90 Minutes
http://www.slideshare.net/MattHarrison4/learn-90

Ob man danach wirklich Python kann, sei dahingestellt ;-)

von brechpunkt (Gast)


Lesenswert?

Der Titel klingt aber schon mal super :)
Danke dir.

von mh (Gast)


Lesenswert?

Das mit den zwei "Editoren" (Terminals?) klingt irgendwie kompliziert.

Schau Dir mal http://www.pydev.org/ an...

von Rolf M. (rmagnus)


Lesenswert?

Mark B. schrieb:
> Learn 90% of Python in 90 Minutes
> http://www.slideshare.net/MattHarrison4/learn-90
>
> Ob man danach wirklich Python kann, sei dahingestellt ;-)

Die restlichen 10% sind wahrscheinlich die, für die man 90% der Zeit 
braucht und die man ständig benötigt.

von Ole L. (olel)


Lesenswert?

Du kannst auch einfach das sehr praktische Statement
1
if __name__ == "__main__":

ganz unten in deiner Datei nutzen, denn diese Bedingung ist nur wahr, 
wenn die Datei selber ausgeführt wird. D.h. dass wenn du deine Klasse, 
bzw. die Datei in der deine Klasse liegt ausführst das dann der Testcode 
in dem Statement ausgeführt wird. Wenn du das Modul, bzw. die Klasse, 
bzw. die Datei in der deine Klasse liegt importierst, dann wird es 
allerdings nicht ausgeführt.

Grüße
Ole

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.