Suprasti pasaulinių kintamųjų apimtį „python“

Understand Global Variables Scope Python



Daugelyje programavimo kalbų galima apibrėžti dviejų tipų kintamuosius. Tai yra visuotiniai ir vietiniai kintamieji. Kintamieji, kurie yra apibrėžti už funkcijos ribų, vadinami visuotiniais kintamaisiais. Šis kintamasis yra prieinamas ir keičiamas iš bet kurios scenarijaus vietos. Kintamasis, deklaruojamas funkcijos viduje, vadinamas vietiniu kintamuoju. Bet jei tas pats kintamojo pavadinimas egzistuoja kaip visuotiniai ir vietiniai kintamieji, tada funkcijos viduje esantis kintamasis gaus prioritetą, o pasaulinio kintamojo vertė bus ignoruojama. Pasaulinio kintamojo apimtis python scenarijuje yra parodyta šiame vadove, naudojant įvairius pavyzdžius.

1 pavyzdys: paprastas globalinio kintamojo naudojimas

Šis pavyzdys rodo paprastą visuotinio kintamojo naudojimą funkcijos viduje ir už jos ribų. Čia yra globalus kintamasis tekstas naudojamas eilutės duomenims priskirti. Pasirinktinė funkcija pavadinta printMessage () yra nustatytas spausdinti visuotinio kintamojo vertę. Vertė tekstas kintamasis spausdinamas funkcijos viduje ir už jos ribų, pakeitus vertę.







#!/usr/bin/env python3

# Apibrėžkite visuotinį kintamąjį
tekstas= „Sveiki atvykę į„ LinuxHint “

# Apibrėžkite funkciją
defprintMessage():

# Iš funkcijos išspausdinkite visuotinį kintamąjį
spausdinti(„Visuotinis kintamasis viduje: n',tekstas)

# Skambinkite funkcijai
printMessage()

# Pakeiskite visuotinio kintamojo vertę
tekstas= „Išmokite programuoti Python“

# Atspausdinkite dabartinę visuotinio kintamojo vertę
spausdinti(„Pasaulio kintamojo išorinė funkcija: n',tekstas)

Išėjimas:



Paleidus scenarijų pasirodys ši išvestis. Tai atspausdino vertę: Sveiki atvykę į „LinuxHint“ kuris priskirtas kintamajam prieš iškviečiant funkciją. Tada jis atspausdino vertę, „Išmokite programuoti Python“ pakeitus kintamojo reikšmę.







2 pavyzdys: visuotinio ir vietinio kintamojo naudojimas tuo pačiu pavadinimu

Jei norite deklaruoti kintamojo pavadinimą funkcijoje, kuri anksčiau buvo paskelbta kaip visuotinis kintamasis sistemoje „python“, ir norite naudoti kintamąjį, jis laikys kintamąjį kaip vietinį kintamąjį ir sukurs klaidą. Šis scenarijus parodys klaidą. Čia, tekstas kintamasis apibrėžiamas kaip visuotinis ir vietinis kintamasis.

#!/usr/bin/env python3

# Apibrėžkite visuotinį kintamąjį
tekstas= 'Man patinka Python'

# Apibrėžkite funkciją
defprintMessage():
spausdinti(tekstas)

tekstas= 'Man patinka PHP'

# Skambinkite funkcijai
printMessage()

Išėjimas:



Paleidus scenarijų pasirodys ši išvestis.

Kad išvengtumėte aukščiau nurodytos situacijos ir jei norite paskelbti vietinį kintamąjį tokiu pačiu pavadinimu kaip visuotinį kintamąjį, pirmiausia turite priskirti vietinį kintamąjį funkcijos viduje. Šis scenarijus rodo, kad vietinio kintamojo pakeitimai nepakeičia visuotinio kintamojo. tekstas kintamasis spausdinamas funkcijos viduje ir išorėje.

#!/usr/bin/env python3

# Apibrėžkite visuotinį kintamąjį
tekstas= 'Man patinka Python'

# Apibrėžkite funkciją
defprintMessage():
# Nustatykite vietinę vertę
tekstas= 'Man patinka PHP'
# Spausdinkite vietinį kintamąjį, tekstą
spausdinti(Funkcijos „teksto“ vertė: n',tekstas)

# Skambinkite funkcijai
printMessage()

# Spausdinkite visuotinį kintamąjį, tekstą
spausdinti(„Teksto“ išorinės funkcijos vertė: n',tekstas)

Išėjimas:

Paleidus scenarijų pasirodys ši išvestis.

3 pavyzdys: visuotinio kintamojo naudojimas funkcijos viduje

Ankstesnis pavyzdys rodo, kad visuotinis kintamasis nepasiekiamas funkcijos viduje. Tu gali naudoti pasaulinis raktinį žodį, kad galėtumėte pasiekti visuotinį kintamąjį iš bet kurios funkcijos. Toliau pateiktame scenarijuje cal_percentage () funkcija apibrėžiama norint apskaičiuoti bet kurio skaičiaus procentą, kai naudojami tiek visuotiniai, tiek vietiniai kintamieji. Čia, ant vieno yra pasaulinis kintamasis ir perVal yra vietinis kintamasis. pasaulinis čia naudojamas raktinis žodis, siekiant identifikuoti visuotinį kintamąjį funkcijos viduje, o visuotinio kintamojo reikšmė keičiama funkcijos viduje.

#!/usr/bin/env python3

# Paimkite sveiką skaičių
ant vieno= tarpt(įvesties('Įveskite skaičių:'))

# Apibrėžkite funkciją
defcal_percentage():
# Atpažinkite pasaulinį kintamąjį naudodami visuotinį raktinį žodį
pasaulinisant vieno

# Paimkite sveiką skaičių kaip procentą
perVal= tarpt(įvesties('Įveskite procentinę vertę:'))

# Apskaičiuokite procentinę vertę
rezultatas= plūdė((ar *perVal)/100)

# Spausdinkite suformatuotą rezultatą
spausdinti(„ %d procentas %d = %f“%(perVal,ant vieno,rezultatas))

# Pakeiskite visuotinio kintamojo vertę
ant vieno= 500

# Prieš iškviesdami funkciją išspausdinkite visuotinio kintamojo reikšmę
spausdinti(' nNum = %d 'reikšmė%ant vieno)

# Skambinkite funkcijai
cal_percentage()

# Paskambinus funkcijai, atsispausdinkite visuotinio kintamojo reikšmę
spausdinti(' nNum = %d 'reikšmė%ant vieno)

Išėjimas:

Paleidus scenarijų pasirodys ši išvestis. Čia apskaičiuojama ir atspausdinama 10% 350.

4 pavyzdys: visuotinių kintamųjų naudojimas iš kito scenarijaus

Šis pavyzdys parodo, kaip viename scenarijuje deklaruojamas visuotinis kintamasis gali būti naudojamas kitame scenarijuje. Tarkime, failo pavadinimas yra global6.py kuri naudos visuotinius kintamuosius, apibrėžtus pavadintame faile global5.py . Pateikiami trys visuotiniai kintamieji global5.py . Jūs turite importuoti pasaulinis5 naudoti kintamuosius kitame scenarijuje. Scenarijus global6.py apskaičiuos trijų tipų darbuotojų atlyginimą pagal įvesties vertes ir pasaulinius kintamuosius.

#!/usr/bin/env python3
# tai yra global5.py failas

# Pagrindinė įmonės atlyginimų struktūra
Pagrindinis= 5000
Medicinos= 500
Transportas= 500 #!/usr/bin/env python3
# tai yra global6.py failas

# Importuokite pasaulinius kintamuosius iš global5.py
importaspasaulinis5

# Paimkite darbuotojo vardą
vardas= įvesties(„Įveskite darbuotojo vardą:“)
# Paimkite įrašo pavadinimą
paštu= įvesties('Įveskite įrašą:')

# Inicijuokite klaidos kintamąjį
klaida= Netiesa

# Patikrinkite įrašą ir nustatykite bazinį atlyginimą pagal pranešimą
jei(paštu.viršutinė() == 'Generalinis direktorius'):
pagrindinis=pasaulinis5.Pagrindinis+(pasaulinis5.Pagrindinis*0.4)
elifas(paštu.viršutinė() == „VALDYTOJAS“):
pagrindinis=pasaulinis5.Pagrindinis+(pasaulinis5.Pagrindinis*0,25)
elifas(paštu.viršutinė() == „PASKYRĖJAS“):
pagrindinis=pasaulinis5.Pagrindinis+(pasaulinis5.Pagrindinis*0,15)
Kitas:
# Nustatykite klaidą kaip teisingą, jei įrašo vertė nerasta
klaida= Tiesa

# Atspausdinkite atlyginimą, jei klaida pastebima
jei (klaida== Netiesa):
atlyginimas=bazinis + globalus5.Medicinos+ pasaulinis5.Transportas
spausdinti(„ %S atlyginimas yra %d“%(vardas,atlyginimas))
Kitas:
spausdinti(„Įrašas nerastas“)

Išėjimas:

Paleidus scenarijų pasirodys ši išvestis. Čia scenarijus vykdomas du kartus su galiojančiu ir netinkamu įrašu.

Išvada:

Pasaulinio kintamojo sąvoka „python“ šiame vadove paaiškinta įvairiais paprastais pavyzdžiais naujiems „python“ vartotojams. Tikiuosi, kad skaitytojai, perskaitę šią pamoką, gaus reikiamų žinių apie pasaulinius kintamuosius ir vietinius kintamuosius.

Žiūrėkite autoriaus vaizdo įrašą: čia