Frage zu main
Verfasst: Sonntag 23. August 2015, 22:49
In der Dokumentation finde ich folgendes zu main:
Das heißt man definiert dann eine Funktion main dazu. Aber diese Funktion main ist doch dann global. Und da sie nicht lokal ist, wird sie auch von der Speicherverwaltung nicht beseitigt, wenn man danach Python nicht beendet. Das bedeutet also ein Memory Leak.
Sollte man es nicht besser dann so schreiben?Hier ist die Funktionsdefinition in der if Abfrage enthalten. Jetzt weiß ich aber nicht, ob das dann nach dem if wieder aufgelöst wird. Hab es getestet:Das Resultat ist, dass die Funkton nach dem if auch noch da ist. Was kann ich machen, dass die Speicherverwaltung greift und die Funktion beseitigt?
Code: Alles auswählen
if __name__ == "__main__":
# execute only if run as a script
main()Sollte man es nicht besser dann so schreiben?
Code: Alles auswählen
if __name__ == "__main__":
def main():
print("Mein Main")
main()Code: Alles auswählen
if __name__ == "__main__":
def main():
print("Mein Main")
main()
main()