Python ikke -lokal nøkkelord

Python ikke -lokal nøkkelord

Ethvert programmeringsspråk tillater bruk av lokale, globale og ikke -lokale variabler. Variabler lagrer enkeltverdier i dem, og disse variablene kan brukes i hele programmet. Funksjonen de er definert som det eneste stedet der de lokale variablene kan nås. De globale variablene kan brukes hvor som helst i hele programmet innen hvilken som helst funksjon. I tillegg krever arbeid med variabler i nestede funksjoner bruk av ikke -lokale variabler. Denne guiden er en rask oversikt over Python -ikke -lokale nøkkelord i Python -programmeringsspråket. Her vil vi veilede deg om hvordan du bruker ikke -lokale nøkkelord i et Python -program ved hjelp av enkle eksempler.

Hva er et python ikke -lokal nøkkelord?

Python -ikke -lokale nøkkelord brukes i nestede funksjoner. Disse nøkkelordene fungerer med nestede funksjoner der variablene ikke tilhører den indre funksjonen. Disse nøkkelordene brukes til å referere til en variabel som er i nærmeste omfang. "Non -Local" er et nøkkelord som brukes med variabelen for å gjøre det til en ikke -lokal variabel. De ikke -lokale variablene overskriver den gamle verdien med den nye verdien. Når du prøver å vise variabelenes verdi, vises den siste tildelte verdien til variabelen. La oss nå teste noen eksempler for å lære å erklære og bruke en variabel med et ikke -lokal nøkkelord i et Python -program.

Eksempel 1

Dette er det første grunnleggende eksemplet på et ikke -lokalt søkeord, så dette vil være veldig enkelt. Dette lille og enkle eksemplet vil være veldig enkelt for deg å forstå. Her vil vi vise hvordan en nyordnede verdi vil erstatte den gamle verdien tildelt en variabel ved hjelp av det ikke -lokale nøkkelordet. Se prøvekoden nedenfor:

def out ():
LV = "Lokal variabel"
def inn ():
Ikke -lokal LV
LV = "Ikke -lokal variabel"
print ("indre variabel:", lv)
vertshus()
print ("ytre variabel:", lv)
ute()



La oss nå forklare hver linje med kode trinn for trinn. For det første blir en funksjon definert ropt ut (); Under den er en variabel “LV” definert, og en "lokal variabel" -verdi er tilordnet den. Etter det er en annen funksjon Inn () definert som en ikke -lokal variabel "LV" er definert ved hjelp av det "ikke -lokale" nøkkelordet. En ny verdi, "ikke -lokal variabel", tildeles "LV" -variabelen, og ved hjelp av PRINT () -kommandoen vises en uttalelse "indre variabel: ikke -lokal variabel". Inn () kalles på neste linje, etterfulgt av en annen utskriftserklæring. Denne utskriftserklæringen skriver ut “ytre variabel: ikke -lokal variabel” på skjermen. Til slutt kreves Out () -funksjonen utførelse. La oss nå se utdataene fra programmet gitt nedenfor:


Her kan du se at begge trykte () utsagn blir utført med hell, og begge utsagnene, "indre variabel: ikke -lokal variabel" og "ytre variabel: ikke -lokal variabel" skrives ut. Du kan lære av utgangen at den første verdien, "lokal variabel", er erstattet med den nye verdien "ikke -lokal variabel" siden vi brukte det "ikke -lokale" nøkkelordet med variabelen "LV". Begge utskriftsuttalelser trykt "ikke -lokal variabel" ettersom verdien av "LV" er erstattet. La oss gå videre til neste eksempel nedenfor for å forstå ideen om ikke -lokale nøkkelord bedre.

Eksempel 2

Dette er et annet eksempel på ikke -lokale nøkkelord. Her vil vi vise verdien av de ikke -lokale nøkkelordene på en annen måte. La oss se koden først, så forklarer vi programmet trinn for trinn:

def func1 ():
f = "Første funksjon"
def func2 ():
ikke -lokal f
f = "nestet funksjon"
func2 ()
retur f
print ("Verdien av ikke -lokal variabel er =", func1 ())



I det forrige programmet kan du se at en funksjon “func1 ()” er definert, som har en variabel “f” som inneholder "første funksjon" -verdien. Etter det er en annen funksjon “Func2 ()” definert, som har et ikke -lokal nøkkelord med variabelen “F”. En ny verdi er tilordnet variabel "F", som er en "nestet funksjon". “Func2 ()” kalles, og verdien av “F” returneres med “Return F” -kommandoen. En utskrift () -kommando, "Verdien av den ikke -lokale variabelen er = nestet funksjon", er vist på skjermen. Se følgende utgang:

Eksempel 3

La oss kode noe sammensatt slik at vi har en klar forståelse av hvordan ikke -lokale søkeordvariabler fungerer. I dette eksemplet brukes tre nestede funksjoner. Tidligere har vi brukt to nestede funksjoner. Nå vil vi definere en annen funksjon og se hvordan den ikke -lokale variableverdien vil bli erstattet. Se koden gitt på skjermbildet nedenfor:

def f1 ():
A = “Funksjon”
def f2 ():
a = “hekkende”
def f3 ():
ikke -lokal a
trykk (a)
a = 'ikke -lokal'
trykk (a)
f3 ()
f2 ()
trykk (a)
f1 ()



Som du kan se, starter programmet med en funksjon F1 () etterfulgt av en variabel “A” og verdi “Funksjon” etterfulgt av en annen funksjon F2 () som har en variabel “A” og verdi “hekkende”. En tredje funksjon, F3 (), er nestet med en ikke -lokal variabel “A”. Ved hjelp av en utskriftsuttalelse vil vi vise verdien av “A”, som nå er “Hekkende”, så tildeler vi en annen verdi til variabel “A” som er “Non -Local”.

Ved hjelp av en annen utskrift () uttalelse er verdien av “A” blitt skrevet ut igjen. Denne gangen er det “ikke -lokal”. Funksjonen F3 () blir deretter kalt, etterfulgt av Calling of Function F2 (), etterfulgt av en annen PRINT () uttalelse. Her vil den trykte verdien av a være "funksjon". Til slutt er funksjonen F1 () blitt kalt. La oss nå se utdataene fra følgende program:


Som du ser har vi den samme utgangen, som vi tidligere forklarte. For det første er verdien av “A = hekkende” i funksjonen F2 () blitt skrevet ut fordi det var den siste verdien som ble tilordnet “A” før setningen (). Den andre trykket () uttalelsen trykket verdien av “A = non -Local” fordi en ny verdi hadde blitt tildelt variabelen “A” før den andre trykket () uttalelsen. Når vi kaller den tredje trykket () uttalelsen, har kontrollen vært utenfor funksjonen F2 () og funksjon F3 (), og her er verdien av “A” det som er i funksjonen F1 (). Så verdien av "A = funksjon" vil bli vist.

Konklusjon

Dette er en kort opplæring om ikke -lokale nøkkelord i Python -programmeringsspråket. Vi beskrev hva et ikke -lokalt søkeord er og hvordan Python -programmer kan bruke det. Vi ga noen enkle og nyttige eksempler for å hjelpe deg med å forstå hvordan du effektivt bruker det ikke -lokale nøkkelordet med variabler i et Python -program. Ved å følge disse enkle eksemplene, kan du enkelt ha en god kommando over ikke -lokale nøkkelord.