La funzione principale è come il punto di ingresso di un programma. Tuttavia, l'interprete Python esegue il codice direttamente dalla prima riga. L'esecuzione del codice inizia dalla riga di partenza e prosegue riga per riga. Non importa dove sia presente la funzione principale o se sia presente o meno.
Poiché non c'èmain()>funzione in Python, quando il comando per eseguire un programma Python viene dato all'interprete, il codice che si trova al livello di indentazione 0 deve essere eseguito. Tuttavia, prima di farlo, definirà alcune variabili speciali.__name__>è una di queste variabili speciali. Se il file sorgente viene eseguito come programma principale, l'interprete imposta il file__name__>variabile per avere un valore__main__>. Se questo file viene importato da un altro modulo,__name__>verrà impostato sul nome del modulo.
__name__>è una variabile incorporata che restituisce il nome del modulo corrente.
Esempio:
quando è uscito Win 7?
# 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()> |
>
>
Produzione:
Hello hey there>
Quando viene eseguito il programma sopra, l'interprete dichiara il valore iniziale di name come main. Quando l'interprete raggiunge l'istruzione if controlla il valore di name e quando il valore di if è vero esegue la funzione main altrimenti la funzione main non viene eseguita.
Funzione principale come Modulo
Ora, quando importiamo uno script Python come modulo, il file__name__>la variabile ottiene lo stesso valore del nome dello script Python importato.
Esempio: Consideriamo che ci siano due file (File1.py e File2.py). Il file1 è il seguente.
# File1.py> > print>(>'File1 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File1 is being run directly'>)> else>:> >print>(>'File1 is being imported'>)> |
ordinamento di un arraylist java
>
>
Produzione:
File1 __name__ = __main__ File1 is being run directly>
Ora, quando File1.py viene importato in File2.py, il valore di __name__ cambia.
# File2.py> > import> File1> > print>(>'File2 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File2 is being run directly'>)> else>:> >print>(>'File2 is being imported'>)> |
numero dell'alfabeto
>
>
Produzione:
File1 __name__ = File1 File1 is being imported File2 __name__ = __main__ File2 is being run directly>
Come visto sopra, quando File1.py viene eseguito direttamente, l'interprete imposta il file__name__>variabile come__main__>e quando viene eseguito tramite File2.py mediante importazione, la variabile __name__ viene impostata come nome dello script Python, ovvero File1. Pertanto, si può dire che se __name__ == __main__ è la parte del programma che viene eseguita quando lo script viene eseguito dalla riga di comando utilizzando un comando come Python File1.py.