Python Põhifunktsiooni ja meetodi näide: def Main() mõistmine
Mis on Python Peamine funktsioon?
Python põhifunktsioon on mis tahes programmi alguspunkt. Kui programm on käivitatud, käivitab pythoni tõlk koodi järjestikku. Põhifunktsiooni käivitatakse ainult siis, kui seda käivitatakse kui a Python programm. See ei käivita põhifunktsiooni, kui see imporditakse moodulina.
Mis on def main() funktsioon Python? Selle mõistmiseks kaaluge järgmist näidiskoodi
def main() Näide 1
def main(): print ("Hello World!") print ("Guru99")
Siin on meil kaks trükist - üks on määratletud põhifunktsiooni "Tere maailm!" ja teine on iseseisev, milleks on “Guru99”. Kui käivitate funktsiooni def main ():
- Välja trükitakse ainult “Guru99”.
- ja mitte kood "Tere maailm!"
Põhjus on selles, et me ei kuulutanud üleskutset funktsioon "if__name__== "__main__".
On oluline, et pärast põhifunktsiooni määratlemist kutsuksite koodi välja if__name__== "__main__" ja seejärel käivitaksite koodi, alles siis saate väljundi "tere maailm!" programmeerimiskonsoolis. Mõelge järgmisele koodile
def main() Näide 2
def main(): print("Hello World!") if __name__ == "__main__": main() print("Guru99")
Guru99 on sel juhul trükitud.
Siin on selgitus,
- Kui Python tõlk loeb lähtefaili, käivitab see kogu selles leiduva koodi.
- Kui Python käivitab põhiprogrammina lähtefaili, määrab see erimuutujale (__name__) väärtuse (“__main__”).
- Kui käivitate pythonis põhifunktsiooni, loeb see lause "if" ja kontrollib, kas __nimi__ võrdub __main__-ga.
- In Python "if__name__== "__main__" võimaldab teil käivitada Python failid kas kui korduvkasutatavad moodulid või eraldiseisvad programmid.
Muutuja __name__ ja Python moodulid
Et mõista muutuja __name__ tähtsust Python põhifunktsiooni meetodit, kaaluge järgmist koodi:
def main(): print("hello world!") if __name__ == "__main__": main() print("Guru99") print("Value in built variable name is: ",__name__)
Mõelge nüüd, kood imporditakse moodulina
import MainFunction print("done")
Siin on koodi selgitus:
Nagu C, Python kasutab == võrdlemiseks, samas kui = määramiseks. Python tõlk kasutab põhifunktsiooni kahel viisil
otsejooks:
- __nimi__=__main__
- if lause == Tõene ja skriptis _main_käivitatakse
importida moodulina
- __name__= mooduli failinimi
- if lause == false ja __main__ skripti ei käivitata
Kui kood on käivitatud, kontrollib see mooduli nime "if". See mehhanism tagab, et põhifunktsiooni täidetakse ainult otsekäivitatuna, mitte moodulina impordituna.
Ülaltoodud näited on Python 3 koodi, kui soovite kasutada Python 2, palun kaaluge järgmist koodi
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In Python 3, ei pea te kasutama if__name. Toimib ka järgmine kood
def main(): print("Hello World!") main() print("Guru99")
Märge: Veenduge, et pärast põhifunktsiooni määratlemist jätaksite mõne taane ja ei deklareeri koodi otse funktsiooni def main(): alla, vastasel juhul annab see taande vea.