if __name__ == '__main__': main()

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.
alfonsospringer
User
Beiträge: 34
Registriert: Sonntag 24. August 2008, 21:50

if __name__ == '__main__': main()

Beitragvon alfonsospringer » Freitag 26. Dezember 2008, 16:43

Hi!

immer wieder sehe ich am Anfang von Python Programmen folgende Codezeile:

Code: Alles auswählen

if __name__ == '__main__': main()


Ich komme nicht dahinter, was sie bewirkt und wofür sie gut ist. Sagt mir's jemand?
bremer
User
Beiträge: 109
Registriert: Sonntag 25. Mai 2008, 00:13

Beitragvon bremer » Freitag 26. Dezember 2008, 16:49

Fehler Nr 1:
Vergessen Google zu nutzen.

http://effbot.org/pyfaq/tutor-what-is-i ... in-for.htm
alfonsospringer
User
Beiträge: 34
Registriert: Sonntag 24. August 2008, 21:50

Beitragvon alfonsospringer » Freitag 26. Dezember 2008, 16:52

Hasst recht, danke.

Frohe Weihnachten & Guten Rutsch
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Beitragvon Nocta » Freitag 26. Dezember 2008, 16:52

Wenn das Programm importiert wird, ist __name__ gleich dem Dateinamen.
Wenn das Programm aber selbst ausgeführt wird, ist __name__ gleich __main__.
Die Überprüfung, if __name__ == __main__ heißt also eigentlich nur: Wenn dieses Programm das Hauptprogramm ist, welches aufgerufen wurde - Also nicht importiert wurde.
Das soll verhindern, dass Programmcode beim Importieren der Datei ausgeführt wird.
Sonst würde man jedes mal, wenn man das Programm importiert und eigentlich nur die Funktionen/Klassen, die in dem Programm enthalten sind, importieren will, auch die print-Anweisungen und sonstiges ausführen, was sonst noch so in dem Programm gemacht wird.

Edit: Fehler nr 2: Auf 1000 mal beantwortete Fragen nochmals neu antworten :) Aber egal, wir haben Weihnachtszeit und ich wollte auch mal wieder was posten.
alfonsospringer
User
Beiträge: 34
Registriert: Sonntag 24. August 2008, 21:50

Beitragvon alfonsospringer » Freitag 26. Dezember 2008, 16:57

Danke für das schöne Geschenk!
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Freitag 26. Dezember 2008, 17:11

Nocta hat geschrieben:Edit: Fehler nr 2: Auf 1000 mal beantwortete Fragen nochmals neu antworten :) Aber egal, wir haben Weihnachtszeit und ich wollte auch mal wieder was posten.


Ach so schlimm ist das nicht :) Der Einzige der damit ein Problem hast bist du, auch ist das schöner wenn mans bei Google trifft und gleich die Antwort findet und nich weiter klicken muss ;)
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Beitragvon Nocta » Freitag 26. Dezember 2008, 17:18

Naja, so schlimm fand ich's dann auch wieder nicht ;)
Jetzt hab ich mir fast 'nen Platz in der Bibel verdient ... Schade, dass ich 2008 Jahre + 2 Tage zu spät komme.
alfonsospringer
User
Beiträge: 34
Registriert: Sonntag 24. August 2008, 21:50

Beitragvon alfonsospringer » Freitag 26. Dezember 2008, 20:59

Man weiss ja nie - vielleicht spricht sich dein Ruf als barmherziger Weisheitsstifter ja rum und du wirst heilig gesprochen :)

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]