Python Esempio di funzione e metodo principale: comprendere def Main()
Che cos'è la Python Funzione principale?
Python funzione principale è un punto di partenza di qualsiasi programma. Quando il programma viene eseguito, l'interprete python esegue il codice in sequenza. La funzione principale viene eseguita solo quando viene eseguita come Python programma. Non eseguirà la funzione principale se importato come modulo.
In cosa consiste la funzione def main() PythonPer capirlo, considera il seguente codice di esempio
def main() Esempio 1
def main(): print ("Hello World!") print ("Guru99")
Qui abbiamo due pezzi di stampa: uno è definito all'interno della funzione principale che è "Hello World!" e l'altro è indipendente, che è "Guru99". Quando esegui la funzione def main():
- Viene stampato solo “Guru99”.
- e non il codice "Hello World!"
È perché non abbiamo dichiarato la chiamata funzione “if__name__== “__main__”.
È importante che dopo aver definito la funzione principale, chiami il codice con if__name__== “__main__” e poi esegui il codice, solo allora otterrai l'output “hello world!” nella console di programmazione. Considera il seguente codice
def main() Esempio 2
def main(): print("Hello World!") if __name__ == "__main__": main() print("Guru99")
In questo caso viene stampato Guru99.
Ecco la spiegazione,
- Quando Python l'interprete legge un file sorgente, eseguirà tutto il codice trovato in esso.
- Quando Python esegue il "file sorgente" come programma principale, imposta la variabile speciale (__name__) in modo che abbia un valore ("__main__").
- Quando esegui la funzione main in Python, leggerà l'istruzione "if" e controllerà se __name__ è uguale a __main__.
- In Python “se__nome__== “__principale__” ti permette di eseguire il Python file come moduli riutilizzabili o programmi autonomi.
La variabile __name__ e Python Moduli
Per comprendere l'importanza della variabile __name__ in Python metodo della funzione principale, considerare il seguente codice:
def main(): print("hello world!") if __name__ == "__main__": main() print("Guru99") print("Value in built variable name is: ",__name__)
Consideriamo ora che il codice viene importato come modulo
import MainFunction print("done")
Ecco la spiegazione del codice:
Come C, Python usa == per il confronto mentre = per l'assegnazione. Python l'interprete utilizza la funzione main in due modi
corsa diretta:
- __nome__=__principale__
- if istruzione == True e lo script in _main_verrà eseguito
importare come modulo
- __name__= nome file del modulo
- if istruzione == false e lo script in __main__ non verrà eseguito
Quando il codice viene eseguito, controllerà il nome del modulo con "if". Questo meccanismo garantisce che la funzione principale venga eseguita solo come esecuzione diretta e non quando importata come modulo.
Gli esempi sopra riportati sono Python 3 codici, se vuoi usarli Python 2, si prega di considerare il seguente codice
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In Python 3, non è necessario usare if__name. Anche il seguente codice funziona
def main(): print("Hello World!") main() print("Guru99")
Nota: Dopo aver definito la funzione principale, assicurati di lasciare un rientro e di non dichiarare il codice subito sotto la funzione def main(): altrimenti verrà restituito un errore di rientro.