Bruk av 'hvis __name__ == __main__' uttalelse i Python

Bruk av 'hvis __name__ == __main__' uttalelse i Python
Noen spesielle variabler er satt når noe Python -skript kjøres. De __Navn__ Variabel er en av dem. Python -filen lagres med '.py ' utvidelse og hver python -fil kalles en modul. Klassene, funksjonene og variablene er definert av modulen. De __Navn__ Variabel er satt til __hoved__ Hvis Python -tolken kjører en modul i hovedprogrammet. De __Navn__ Variabel er satt til modulens navn hvis Python -filen importerer modulen fra en annen modul. De 'Hvis __name__ == __main__' uttalelse brukes til å sjekke om modulen er importert eller ikke. Ulike bruksområder for denne uttalelsen er vist i denne opplæringen.

Eksempel-1: Enkel bruk av __Name__-variabelen

Lag en Python -fil med følgende skript som kaller hoved() funksjon hvis verdien av __Navn__ variabel er __hoved__. De hoved() Funksjon er erklært i skriptet for å definere utsagnene. En strengverdi og en tallverdi vil bli skrevet ut etter å ha ringt hoved() funksjon. Ingen modul er importert til skriptet. Så 'hvis' Uttalelsen vil bli returnert ekte og hoved() Funksjon vil bli kalt.

#Definer hovedfunksjonen
def main ():
#Trykk en enkel melding
print ("Testing av bruk av __name__ variabel.")
#Initialiser variabelen med nummeret
n = 15
#Trykk verdien på variabelen
trykk ("Verdien av n er", n)
#Sjekk verdien av __name__
if __name__ == "__main__":
#Call The Main () -funksjonen
hoved()

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Utgangen viser at 'hvis' tilstanden har returnert sann og hoved() Funksjonen har blitt kalt.

Eksempel-2: Skriv ut verdien på __name__-variabelen

Lag en Python -fil med følgende skript som kaller hoved() funksjon hvis verdien av __Navn__ variabel er __hoved__, Som forrige eksempel. To tallverdier vil bli hentet fra brukeren og skrive ut summen av tallene etter å ha ringt Main () -funksjonen. 'Hvis' tilstanden vil sjekke verdien av __name__ -variabelen. Hvis tilstanden kommer tilbake ekte, da blir en melding skrives ut, verdien av __Navn__ Variabel vil bli skrevet ut, og hovedfunksjonen vil bli kalt. Hvis tilstanden kommer tilbake Falsk, da vil en melding bli skrevet ut og verdien av __Navn__ Variabel vil bli skrevet ut.

#Definer hovedfunksjonen
def main ():
#Trykk en enkel melding
num1 = int (input ("Angi det første nummeret:"))
num2 = int (input ("Angi det andre nummeret:"))
sum = num1 +num2
#Trykk verdien av summen
Print ("Summen av %d og %d er %d" %(num1, num2, sum))
#Sjekk verdien av __name__ variabel
if __name__ == "__main__":
trykk ("Python -tolk har ringt direkte.")
print ("Verdien på __name__ variabel er"+__ name__)
hoved()
ellers:
trykk ("Python -tolk har ikke ringt direkte.")
print ("Verdien på __name__ attributt er"+__ name__)

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Utgangen viser at hoved() funksjon har blitt kalt fordi verdien av __Navn__ variabel er __hoved__. 7 og 9 er tatt som innspill fra brukeren og summen av 7 og 9 som er 16, er skrevet ut i utgangen.

Eksempel-3: Bruk av __Name__-variabelen med klassen

Lag en Python -fil med følgende skript som definerer en klasse for å beregne sirkelområdet og rektangelet. Hvis verdien av __Navn__ variabel er __hoved__, da blir inngangen hentet fra brukeren. Deretter vil objektet for klassen bli opprettet. De Circle_Area () metoden vil bli kalt hvis inngangsverdien er 'sirkel'. De rectangle_area () metoden vil bli kalt hvis inngangsverdien er 'rektangel'. En melding vil bli skrevet ut hvis inngangsverdien ikke stemmer overens med 'sirkel' eller 'rektangel'.

#Declare klassen
Klasse CalculateArea:
#Declare Constructor
def __init __ (selv, type):
selv-.type = type
#Declare -metoden for beregning av sirkelområde
def circle_area (self, radius):
selv-.Radius = radius
Område = 3.14 * Selv.radius * selv.radius
trykk ("Området til sirkelen er", området)
#Declare -metoden for beregning av rektangelområdet
def rectangle_area (self, h, w):
selv-.høyde = h
selv-.bredde = w
område = selv.Høyde * Selv.bredde
trykk ("Rektangelområdet er", området)
#Sjekk __name__ -variabelen
if __name__ == '__main__':
areatype = input ("sirkel eller rektangel?\ n ")
Objekt = CalculaTearea (areatype.Nedre())
Hvis objekt.type == 'sirkel':
gjenstand.Circle_Area (4)
ELIF -objekt.type == 'rektangel':
gjenstand.rectangle_area (10, 20)
ellers:
trykk ("Ingen matchende type funnet.")

Produksjon:


Følgende utgang vises etter å ha utført skriptet ovenfor. I følgende utgang, 'sirkel' er tatt som inngangsverdien og området til sirkelen av radius 4 er skrevet ut i utgangen.

I følgende utgang, 'rektangel' er tatt som inngangsverdien og området for rektangelet (høydverdien, 10 og breddeverdien, 20) er skrevet ut i utgangen.

I følgende utgang, 'torget' har blitt tatt som en inngangsverdi som ikke stemmer med 'sirkel' eller 'rektangel'.

Eksempel-4: Bruk av __Name__-variabelen etter import av en modul

Lag en Python -fil som heter fil1.py med følgende skript som vil bli importert til en annen Python -fil. Dette skriptet vil skrive ut en enkel melding, og en melding basert på __Navn__ variabel.

fil1.py
# Python fil én modul
#Trykk en enkel melding
print ("Melding fra File1.py ")
#Trykk verdien på __name__ variabel
print ("Verdien av __name__ er", __name__)
if __name__ == "__main__":
trykk ("Python -tolk har ringt direkte.")
ellers:
trykk ("Python -tolk har ikke ringt direkte.")

Opprett en annen Python -fil med følgende skript som vil importere fil1.py som en modul i skriptet. Dette skriptet vil skrive ut en enkel melding, og en melding basert på __Navn__ variabel etter import av fil1 modul.

#Import File1.py
Importer fil1
#Trykk en enkel melding
trykk ("Velkommen til Linuxhint")
#Trykk verdien på __name__ variabel
print ("Verdien av __name__ er", __name__)
if __name__ == "__main__":
trykk ("Python -tolk har ringt direkte.")
ellers:
trykk ("Python -tolk har ikke ringt direkte.")

Produksjon:


Følgende utgang vises etter å ha utført skriptet ovenfor. Utgangen viser at verdien av __Navn__ Variabel endres til modulnavnet etter import av en annen modul i skriptet.

Konklusjon

Hensikten med å bruke __Navn__ Variabel er blitt forklart i denne opplæringen ved å bruke forskjellige typer eksempler for å hjelpe brukerne til å bruke det i skriptet sitt riktig.