Seite 1 von 1
der if __name__ trick
Verfasst: Sonntag 20. Juli 2008, 13:45
von breathe_easy
ich habe nun schon mehrfach folgende Funktionsdef. gefunden:
was genau hat es damit auf sich?
breathe_easy
Verfasst: Sonntag 20. Juli 2008, 14:03
von BlackVivi
foo.py:
bar.py:
Code: Alles auswählen
[vivi@Alexandria ~]$ python foo.py
__main__
[vivi@Alexandria ~]$ python bar.py
foo
Das heißt... in __name__ steckt der Name des Moduls, außer wenn es das Modul ist, was man aufruft. Die Abfrage fragt also "Haben wir das Modul direkt aufgerufen oder importiert?"... Denn __name__ ist nur __main__ wenn es direkt aufgerufen ist. So können wir innerhalb Funktionen definieren und trotzdem in einem anderen Modul verwenden ohne automatisch irgendwas auszuführen.
Verfasst: Sonntag 20. Juli 2008, 15:32
von lunar
[wiki=Import#AusfhrungAlsSkript]Import[/wiki]