Kas ir Python galvenā funkcija?
Python galvenā funkcija ir jebkuras programmas sākumpunkts. Kad programma tiek palaista, pitona tulks kodu izpilda secīgi. Galvenā funkcija tiek izpildīta tikai tad, kad tā tiek palaista kā Python programma. Tā nedarbosies ar galveno funkciju, ja tā tiks importēta kā modulis.
Kas ir def main () funkcija Python? Lai to saprastu, apsveriet šādu koda piemēru
def main():print ("hello world!")print ("Guru99")
Šeit mēs saņēmām divus drukas gabalus - viens ir definēts galvenajā funkcijā, kas ir "Hello World", un otra ir neatkarīga, kas ir "Guru99". Palaidot funkciju def main ():
- Drukā tikai "Guru99"
- nevis kodu "Sveika pasaule".
Tas ir tāpēc, ka mēs nedeklarējām izsaukuma funkciju "if__name __ ==" __main__ ".
Ir svarīgi, lai pēc galvenās funkcijas definēšanas jūs izsauktu kodu ar if__name __ == "__main__" un pēc tam palaistu kodu, tikai tad jūs iegūsiet rezultātu "sveika pasaule!" programmēšanas konsolē. Apsveriet šādu kodu
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")
Šajā gadījumā tiek drukāts Guru99.
Šeit ir paskaidrojums,
- Kad Python tulks lasa avota failu, tas izpildīs visu tajā atrodamo kodu.
- Kad Python palaiž "avota failu" kā galveno programmu, tas īpašajam mainīgajam (__name__) iestata vērtību ("__main__").
- Izpildot galveno funkciju pitonā, tas pēc tam nolasīs paziņojumu "ja" un pārbaudīs, vai __nosaukums__ ir vienāds ar __main__.
- Programmā Python "if__name __ ==" __main__ " ļauj palaist Python failus vai nu kā atkārtoti lietojamus moduļus, vai kā atsevišķas programmas.
Mainīgais __name__ un Python modulis
Lai saprastu mainīgā __name__ nozīmi Python galvenās funkcijas metodē, apsveriet šādu kodu:
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)
Tagad apsveriet, kods tiek importēts kā modulis
import MainFunctionprint("done")
Šeit ir koda skaidrojums:
Tāpat kā C, arī Python izmanto == salīdzināšanai, savukārt = uzdevumam. Python tulks galveno funkciju izmanto divos veidos
tiešais skrējiens:
- __nosaukums __ = __ galvenais__
- if paziņojums == True, un skripts _main_ tiks izpildīts
importēt kā moduli
- __nosaukums __ = moduļa faila nosaukums
- ja paziņojums == false, un skripts __main__ netiks izpildīts
Kad kods ir izpildīts, tas pārbaudīs moduļa nosaukumu ar "ja". Šis mehānisms nodrošina, ka galvenā funkcija tiek izpildīta tikai kā tieša palaišana, nevis importēta kā modulis.
Iepriekš minētie piemēri ir Python 3 kodi. Ja vēlaties izmantot Python 2, lūdzu, apsveriet sekojošo kodu
def main():print "Hello World!"if __name__== "__main__":main()print "Guru99"
Programmā Python 3 jums nav jāizmanto if__name. Arī sekojošais kods darbojas
def main():print("Hello World!")main()print("Guru99")
Piezīme: Pārliecinieties, ka pēc galvenās funkcijas noteikšanas jūs atstājat kādu atkāpi un nedeklarējat kodu tieši zem def main (): function citādi, tas radīs ievilkuma kļūdu.