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.
Wenn das aktuelle Modul das "Hauptmodul" ist, d.h. direkt von einem Python-Interpreter gestarted und nicht von einem anderen Modul importiert wurde, dann ist `__name__` = "__main__". Im Prinzip heißt `if __name__ == '__main__':` `wenn dieses modul das hauptmodul ist:`.
"__name__" enthält normalerweise den Namen des aktuellen Moduls. Wird dieses Modul jedoch ausgeführt und nicht importiert (z.B. über "python foo.py"), so setzt der Interpreter "__name__" auf den magischen Wert "__main__".
Dadurch kann man im Modul erkennen, ob das Modul importiert oder ausgeführt wird. So kann man beispielsweise Skripte schreiben, die man auch importieren kann (z.B. für automatisiertes Testing), oder Module, die man ausführen kann (z.B. damit das Modul sich selbst testen).
In der Standardbibliothek sieht man diesen Trick beispielsweise im "webbrowser"-Modul.
Nun ``__name__`` ist fuer jedes Modul definiert, fuer den Fall, dass es das Hauptmodul ist, ist der Name eben "__main__", andernfalls ist es der Dateiname des Moduls.
Das Idiom dient einfach dazu, bestimmten Code nur dann auszufuehren, wenn das Modul direkt ausgefuehrt wurde, um die Objekte darin auch fuer andere Module ohne Nebeneffekte nutzbar zu machen.