Seite 1 von 1
if __name__ == '__main__':
Verfasst: Sonntag 1. Februar 2004, 07:49
von DER Olf
hi!
wenn ich mir scripts von erfahreneren python programmieren angucke sehe ich (z.b. beispiel scripts bei modules wie wxPython,) dass am ende
steht. ich habe erst gestern zum ersten mal OO programmiert, d.h. über klassen und deren methoden und was eine instanz ist nachgedacht

...also bitte nicht zu konplizierte antworten...
dankö
DER Olf
Don't Panik ;-)
Verfasst: Sonntag 1. Februar 2004, 09:22
von Eric
Hi DER Olf!
Diese Zeile hat nichts mit OO zu tun sondern bietet eine einfache Möglichkeit zum Testen von Modulen. Die nachfolgenden Anweisungen werden nur ausgeführt, wenn das aktuelle Modul direkt (sozusagen als Programm) aufgerufen wird. Würde das Modul nur von anderen 'angezogen' werden, würden die Anweisungen nicht ausgeführt.
Ich würde es an Deiner Stelle mal ausprobieren; die Qualität Deiner Module steigt durch solche Selbsttests!
Viel Spaß, Eric
Verfasst: Sonntag 1. Februar 2004, 09:28
von Milan
In der Variable __name__ ist der Name des aktuellen Moduls gespeichert. Nur wenn das aktuelle Script das Hauptprogramm ist, ist __name__ == "__main__". Wenn du es importierst, hat es seinen "Orginalnamen":
liefert dann nämlich math. Deswegen kannst du ein Modul schreiben, dass als Programm allein lauffähig ist, aber nicht ausgeführt werden soll, wenn es importiert wird. Dann greift nämlich die IF-Abfrage nicht.
Verfasst: Sonntag 1. Februar 2004, 09:38
von DER Olf
hey. danke für die genauen antworten!