Python Hovedfunktion og metode Eksempel: Forstå def Main()
Hvad er Python Hovedfunktion?
Python hovedfunktion er et udgangspunkt for ethvert program. Når programmet køres, kører python-fortolkeren koden sekventielt. Hovedfunktionen udføres kun, når den køres som en Python program. Det vil ikke køre hovedfunktionen, hvis det importeres som et modul.
Hvad er def main()-funktionen i Python? For at forstå dette skal du overveje følgende eksempelkode
def main() Eksempel 1
def main(): print ("Hello World!") print ("Guru99")
Her har vi to stykker print - det ene er defineret inden for hovedfunktionen, der er "Hello World!" og den anden er uafhængig, som er "Guru99". Når du kører funktionen def main ():
- Kun "Guru99" udskrives
- og ikke koden "Hello World!"
Det er, fordi vi ikke erklærede opkaldet funktion "if__name__== "__main__".
Det er vigtigt, at du efter at have defineret hovedfunktionen kalder koden ved if__name__== "__main__" og derefter kører koden, først da får du outputtet "hello world!" i programmeringskonsollen. Overvej følgende kode
def main() Eksempel 2
def main(): print("Hello World!") if __name__ == "__main__": main() print("Guru99")
Guru99 udskrives i dette tilfælde.
Her er forklaringen,
- Hvornår Python tolk læser en kildefil, vil den udføre al den kode, der findes i den.
- Hvornår Python kører "kildefilen" som hovedprogram, den sætter den specielle variabel (__name__) til at have en værdi ("__main__").
- Når du udfører hovedfunktionen i python, vil den læse "if"-sætningen og kontrollere, om __name__ er lig med __main__.
- In Python "if__name__== "__main__" giver dig mulighed for at køre Python filer enten som genanvendelige moduler eller selvstændige programmer.
Variablen __name__ og Python Moduler
For at forstå vigtigheden af __name__ variabel i Python hovedfunktionsmetode, overvej følgende kode:
def main(): print("hello world!") if __name__ == "__main__": main() print("Guru99") print("Value in built variable name is: ",__name__)
Overvej nu, kode importeres som et modul
import MainFunction print("done")
Her er kodeforklaringen:
Ligesom C, Python bruger == til sammenligning, mens = til opgave. Python tolk bruger hovedfunktionen på to måder
direkte løb:
- __navn__=__hoved__
- if statement == True, og scriptet i _main_vil blive udført
importere som et modul
- __name__= modulets filnavn
- if statement == false, og scriptet i __main__ vil ikke blive udført
Når koden udføres, vil den søge efter modulnavnet med "hvis." Denne mekanisme sikrer, at hovedfunktionen kun udføres som direkte kørsel, ikke når den importeres som et modul.
Ovenstående eksempler er Python 3 koder, hvis du vil bruge Python 2, overvej venligst følgende kode
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In Python 3, behøver du ikke bruge if__name. Følgende kode virker også
def main(): print("Hello World!") main() print("Guru99")
Bemærk: Sørg for, at du efter at have defineret hovedfunktionen efterlader noget indrykning og ikke erklærer koden lige under def main():-funktionen, ellers vil det give indrykningsfejl.