Pythoni põhifunktsioon

Selles õpetuses õpime, kuidas kasutada Pythoni programmi atribuuti __name__ selle dünaamiliseks käitamiseks erinevates kontekstides.

Mis on Pythoni peamine () funktsioon?

Mõnel programmeerimiskeelel on spetsiaalne funktsioon nimega main()programmifaili täitmispunkt. Pythoni tõlk töötab aga iga rea ​​järjestikku faili ülaosast ja sel pole selget main()funktsiooni.

Python pakub täitmispunkti määratlemiseks muid tavasid. Üks neist kasutab main()Pythoni faili funktsiooni ja omadust __name__.

Mis on Pythonis __name__?

Muutuja __name__ on spetsiaalne sisseehitatud Pythoni muutuja, mis näitab praeguse mooduli nime.

Sellel on erinevad väärtused, sõltuvalt sellest, kus me Pythoni faili käivitame. Vaatame ühte näidet.

Pythoni faili käitamine skriptina

Oletame, et meil on järgmise sisuga Pythoni fail nimega helloworld.py :

 print(__name__) 

Kui käivitame käsurealt helloworld.py , töötab see Pythoni skriptina. Saame Pythoni programmi käivitada järgmise käsu abil:

$ python helloworld.py

Kui käivitame programmi skriptina, määratakse muutuja __name__ väärtuseks __main__. Nii et järgmise programmi väljund on:

 __main__ 

Pythoni faili käitamine moodulina

Samuti saame moodulina käitada Pythoni faili. Selleks peame selle faili importima teise Pythoni programmi. Vaatame ühte näidet.

Oletame, et meil on Pythoni fail nimega main.py samas kataloogis kui heloworld.py. Sellel on järgmine sisu:

 import helloworld 

Selle faili käivitamisel on meil järgmine väljund:

 Tere, Maailm 

Siin näeme, et mooduli importimisel käivitatakse ka kogu moodulifailis olev kood.

Kuid näeme, et __main__ kuvamise asemel kuvab programm mooduli nime, st helloworld.

Sellepärast, et Pythoni faili moodulina käitamise kontekstis määratakse muutujale __nimi__ mooduli nimi ise.

Kui tingimuslik, kasutatakse koos __name__

Nüüd, kui oleme aru saanud, kuidas muutujale __name__ väärtused omistatakse, saame kasutada iftingimuslauset sama Pythoni faili käitamiseks erinevates kontekstides erinevalt.

Vaatame ühte näidet.

Oletame, et muudame faili helloworld.py sisu järgmiseks:

 def main(): print("Hello World") if __name__=="__main__": main() 

Kui käivitame selle käsurea kaudu skriptina, on väljund:

 Tere, Maailm 

Kui käivitame selle moodulina, importides selle faili main.py , ei kuvata väljundit, kuna main()funktsiooni ei kutsuta.

Siin oleme loonud faili helloworld.py kohandatud main()funktsiooni . See käivitatakse ainult siis, kui programmi käivitatakse eraldiseisva skriptina, mitte imporditud moodulina.

See on tavaline viis main()funktsiooni selgesõnaliseks määratlemiseks Pythonis. See on Pythoni faili muutuja __name__ üks populaarsemaid kasutusjuhtumeid.

Huvitavad Artiklid...