logo

Funzione principale di Python

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.