La funció principal és com el punt d'entrada d'un programa. Tanmateix, l'intèrpret de Python executa el codi des de la primera línia. L'execució del codi comença des de la línia inicial i va línia per línia. No importa on està present la funció principal o si és present o no.
Com que no n'hi hamain()>funció a Python, quan l'ordre per executar un programa de Python es dóna a l'intèrpret, s'ha d'executar el codi que es troba al nivell 0 de sagnat. Tanmateix, abans de fer-ho, definirà algunes variables especials.__name__>és una d'aquestes variables especials. Si el fitxer font s'executa com a programa principal, l'intèrpret estableix el fitxer__name__>variable per tenir un valor__main__>. Si aquest fitxer s'està important des d'un altre mòdul,__name__>s'establirà amb el nom del mòdul.
__name__>és una variable integrada que avalua el nom del mòdul actual.
Exemple:
# 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()> |
drecera de totes les majúscules excel
>
ordenar una llista de matrius java
>
Sortida:
Hello hey there>
Quan s'executa el programa anterior, l'intèrpret declara el valor inicial del nom com a principal. Quan l'intèrpret arriba a la instrucció if, comprova el valor del nom i quan el valor de if és cert, executa la funció principal, sinó la funció principal no s'executa.
Funció principal com a mòdul
Ara, quan importem un script de Python com a mòdul, el__name__>La variable obté el mateix valor que el nom de l'script de Python importat.
Exemple: Considerem que hi ha dos fitxers (File1.py i File2.py). El fitxer 1 és el següent.
comanda chown
# File1.py> > print>(>'File1 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File1 is being run directly'>)> else>:> >print>(>'File1 is being imported'>)> |
>
>
Sortida:
File1 __name__ = __main__ File1 is being run directly>
Ara, quan s'importa File1.py a File2.py, el valor de __name__ canvia.
# File2.py> > import> File1> > print>(>'File2 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File2 is being run directly'>)> else>:> >print>(>'File2 is being imported'>)> |
javafx
>
>
Sortida:
File1 __name__ = File1 File1 is being imported File2 __name__ = __main__ File2 is being run directly>
Com s'ha vist anteriorment, quan File1.py s'executa directament, l'intèrpret estableix el fitxer__name__>variable com__main__>i quan s'executa mitjançant File2.py mitjançant la importació, la variable __name__ s'estableix com el nom de l'script Python, és a dir, File1. Per tant, es pot dir que si __name__ == __main__ és la part del programa que s'executa quan l'script s'executa des de la línia d'ordres mitjançant una ordre com Python File1.py.