logo

Python-hoofdfunctie

De hoofdfunctie is als het beginpunt van een programma. De Python-interpreter voert de code echter rechtstreeks vanaf de eerste regel uit. De uitvoering van de code begint vanaf de startregel en gaat regel voor regel. Het maakt niet uit waar de hoofdfunctie aanwezig is of niet.

Aangezien er geenmain()>functie in Python, wanneer het commando om een ​​Python-programma uit te voeren aan de tolk wordt gegeven, moet de code met inspringing op niveau 0 worden uitgevoerd. Voordat dit echter wordt gedaan, worden eerst enkele speciale variabelen gedefinieerd.__name__>is zo'n speciale variabele. Als het bronbestand als hoofdprogramma wordt uitgevoerd, stelt de tolk de__name__>variabele om een ​​waarde te hebben__main__>. Als dit bestand uit een andere module wordt geïmporteerd,__name__>wordt ingesteld op de naam van de module.
__name__>is een ingebouwde variabele die evalueert naar de naam van de huidige module.



Voorbeeld:








# Python program to demonstrate> # main() function> > > print>(>'Hello'>)> > # Defining main function> def> main():> >print>(>'hey there'>)> > > # Using the special variable> # __name__> if> __name__>=>=>'__main__'>:> >main()>

>

>

Uitgang:

 Hello hey there>

Wanneer het bovenstaande programma wordt uitgevoerd, declareert de tolk de initiële waarde van naam als main. Wanneer de interpreter de if-instructie bereikt, controleert hij de waarde van name en wanneer de waarde van if waar is, voert hij de hoofdfunctie uit, anders wordt de hoofdfunctie niet uitgevoerd.

vervang de tekenreeks in Java

Hoofdfunctie als Module

Wanneer we nu een Python-script importeren als module the__name__>variabele krijgt dezelfde waarde als de naam van het geïmporteerde Python-script.

Voorbeeld: Laten we eens kijken of er twee bestanden zijn (File1.py en File2.py). Bestand1 is als volgt.




# File1.py> > print>(>'File1 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File1 is being run directly'>)> else>:> >print>(>'File1 is being imported'>)>

>

>

Uitgang:

 File1 __name__ = __main__ File1 is being run directly>

Wanneer File1.py nu in File2.py wordt geïmporteerd, verandert de waarde van __name__.




# File2.py> > import> File1> > print>(>'File2 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File2 is being run directly'>)> else>:> >print>(>'File2 is being imported'>)>

>

datastructuren in Java
>

Uitgang:

 File1 __name__ = File1 File1 is being imported File2 __name__ = __main__ File2 is being run directly>

Zoals hierboven te zien is, stelt de interpreter, wanneer File1.py rechtstreeks wordt uitgevoerd, de__name__>variabel als__main__>en wanneer het via File2.py wordt uitgevoerd door te importeren, wordt de variabele __name__ ingesteld als de naam van het Python-script, dat wil zeggen File1. Er kan dus worden gezegd dat als __name__ == __main__ het deel van het programma is dat wordt uitgevoerd wanneer het script wordt uitgevoerd vanaf de opdrachtregel met behulp van een opdracht als Python File1.py.