[ disko @ 25.04.2013. 12:13 ] @
if __name__ == '__main__':

Cemu sluzi, sve mi je jasno osim tog dela?

Pocetnik pa sam krenuo sa primerima:

from Tkinter import *

class Alarm(Frame):
def repeater(self):
self.bell()
self.after(self.msecs, self.repeater)
def __init__(self):
Frame.__init__(self)
self.msecs = 1000
self.pack()
stopper = Button(self, text='Zaustavi!', command=self.quit)
stopper.pack()
stopper.config(bg='navy', fg='white', bd=8)
self.stopper = stopper
self.repeater()

if __name__ == '__main__':
Alarm().mainloop()
[ del-boy @ 25.04.2013. 12:28 ] @
Kad napraviš neki modul i importuješ ga, njegov __name__ je ime tog modula, odnosno ime fajla.

Kad modul direktno pokrećeš, njegovo ime je __main__. Provera da li je __name__ == '__main__' ti služi da bi znao da je file direktno pokrenut, a ne importovan od strane nekog drugog modula. Samo u tom slučaju se pokreće aplikacija. Ovim se ostavlja mogućnost da koristiš klasu definisanu u fajlu u ostatku projekta.
[ HeYoo @ 25.04.2013. 12:29 ] @
__name__ je jednako __main__ kada pozivas direktno bas tu skriptu.

To je trik koji se cesto koristi kada iz nekog zelimo da se skripta drukcije ponasa kada je importujemo i kada je direktno pokrecemo.
U slucaju da ovu tvoju skriptu importujes iz neke druge skripte __name__ nece biti __main__ i funkcija Alarm().mainloop() nece biti pokrenuta ali ce biti dostupna.