Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

if __name__ == '__main__':

[es] :: Python :: if __name__ == '__main__':

[ Pregleda: 2108 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

disko

Član broj: 550
Poruke: 163
*.180.255.221.targo.rs.

ICQ: 84032332


+3 Profil

icon if __name__ == '__main__':25.04.2013. u 12:13 - pre 83 meseci
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()
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+20 Profil

icon Re: if __name__ == '__main__':25.04.2013. u 12:28 - pre 83 meseci
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.
 
Odgovor na temu

HeYoo

Član broj: 72595
Poruke: 491



+1017 Profil

icon Re: if __name__ == '__main__':25.04.2013. u 12:29 - pre 83 meseci
__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.
 
Odgovor na temu

[es] :: Python :: if __name__ == '__main__':

[ Pregleda: 2108 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.