Eine besonders schönes Feature von Python (und JAVA) ist, daß das schon alles ist; das aufräumen passiert automatisch.
In C/C++ dagegen muss sich die Programmiererin selbst darum kümmern den allozierten Speicher wieder zu räumen, eine sehr heikle und fehleranfällige Aufgabe.
for ( i = 0; i < 1000000; i++ ) { // C++ killer, fine in JAVA double [] space = new double[1000000]; ... // delete [] space; // C++ memory leak } ... // oder int [] room = new int[100]; int [] room2 = room; ... delete [] room; // C++ room2 still defined, dangling ref }
Python merkt sich alle Referenzen auf die angelegten Objekte bzw. den allozierten Speicherbereich. Sobald keine mehr vorhanden sind wird der Bereich zum Abschuss für den garbage-collector freigegeben. Dieser wird bei Bedarf automatisch gerufen. In der Regel kein Eingriff des Programmierers nötig.