Python

Mõistke Pythoni globaalsete muutujate ulatust

Mõistke Pythoni globaalsete muutujate ulatust
Enamikus programmeerimiskeeltes saab määratleda kahte tüüpi muutujaid. Need on globaalsed muutujad ja lokaalsed muutujad. Muutujaid, mis on määratletud väljaspool funktsiooni, nimetatakse globaalseks muutujaks. See muutuja on skripti kõikjalt ligipääsetav ja muudetav. Funktsiooni sees deklareeritud muutujat nimetatakse lokaalseks muutujaks. Kuid kui sama muutuja nimi eksisteerib globaalsete ja kohalike muutujatena, saab funktsiooni sees olev muutuja prioriteedi ja globaalse muutuja väärtust ignoreeritakse. Püütoni skripti globaalse muutuja ulatus on selles õpetuses näidatud erinevate näidete abil.

Näide 1: globaalse muutuja lihtne kasutamine

Järgmine näide näitab globaalse muutuja lihtsat kasutamist funktsiooni sees ja väljaspool funktsiooni. Siin globaalne muutuja nimega teksti kasutatakse stringi andmete määramiseks. Kohandatud funktsioon nimega printMessage () on määratletud globaalse muutuja väärtuse printimiseks. Väärtus teksti muutuja trükitakse pärast väärtuse muutmist funktsiooni sisse ja väljapoole funktsiooni.

#!/ usr / bin / env python3
# Määratlege globaalne muutuja
text = "Tere tulemast LinuxHinti"
# Määratlege funktsioon
def printMessage ():
# Printige funktsioonist globaalne muutuja
print ("Globaalne muutuja funktsiooni sees: \ n", tekst)
# Helistage funktsioonile
printMessage ()
# Muutke globaalse muutuja väärtust
text = "Õpi Pythoni programmeerimist"
# Trükkige globaalse muutuja praegune väärtus
print ("Globaalne muutuja väljaspool funktsiooni: \ n", tekst)

Väljund:

Pärast skripti käivitamist ilmub järgmine väljund. See trükkis väärtuse, "Tere tulemast LinuxHinti ' mis määratakse muutujale enne funktsiooni kutsumist. Järgmisena printis see väärtuse, "Õpi Pythoni programmeerimist"  pärast muutuja väärtuse muutmist.

Näide 2: globaalse ja kohaliku muutuja kasutamine sama nimega

Kui soovite deklareerida muutuja nime funktsiooni sees, mis on juba Pythonis deklareeritud globaalse muutujana, ja soovite kasutada muutujat, käsitleb see muutujat kohaliku muutujana ja tekitab tõrke. Järgmine skript näitab viga. Siin, teksti muutuja on määratletud globaalse ja kohaliku muutujana.

#!/ usr / bin / env python3
# Määratlege globaalne muutuja
text = "Mulle meeldib Python"
# Määratlege funktsioon
def printMessage ():
print (tekst)
text = "Mulle meeldib PHP"
# Helistage funktsioonile
printMessage ()

Väljund:

Pärast skripti käivitamist ilmub järgmine väljund.

Ülaltoodud olukorra vältimiseks ja kui soovite deklareerida kohaliku muutuja sama nimega kui globaalne muutuja, peate kõigepealt määrama kohaliku muutuja funktsiooni sees. Järgmine skript näitab, et kohaliku muutuja muudatused ei muuda globaalset muutujat. teksti muutuja trükitakse siin funktsiooni sisse ja välja.

#!/ usr / bin / env python3
# Määratlege globaalne muutuja
text = "Mulle meeldib Python"
# Määratlege funktsioon
def printMessage ():
# Degine'i kohalik väärtus
text = "Mulle meeldib PHP"
# Trükkige kohalik muutuja, tekst
print ("Funktsiooni" tekst "väärtus: \ n", tekst)
# Helistage funktsioonile
printMessage ()
# Trükkige globaalne muutuja, tekst
print ("Funktsiooni" tekst "väärtus: \ n", tekst)

Väljund:

Pärast skripti käivitamist ilmub järgmine väljund.

Näide 3: globaalse muutuja kasutamine funktsiooni sees

Eelmine näide näitab, et globaalne muutuja pole funktsiooni sees ligipääsetav. Sa võid kasutada globaalne märksõna globaalse muutuja juurde pääsemiseks mis tahes funktsioonilt. Järgmises skriptis, cal_percentage () Funktsioon on määratletud mis tahes arvu protsendi arvutamiseks, kus kasutatakse nii globaalseid kui ka lokaalseid muutujaid. Siin, arv on globaalne muutuja ja perVal on lokaalne muutuja. globaalne märksõna kasutatakse siin funktsiooni sees oleva globaalse muutuja tuvastamiseks ja funktsiooni sees muudetakse globaalse muutuja väärtust.

#!/ usr / bin / env python3
# Võta täisarv
num = int (sisend ("Sisestage number:"))
# Määratlege funktsioon
def cal_percentage ():
# Tuvastage globaalne muutuja globaalse märksõna abil
globaalne arv
# Võtke täisarv väärtus protsendina
perVal = int (sisend ("Sisestage protsentväärtus:"))
# Arvutage protsentväärtus
tulemus = ujuk ((arv * perVal) / 100)
# Printige vormindatud tulemus
print ("% d protsent% d =% f"% (perVal, num, tulemus))
# Muutke globaalse muutuja väärtust
arv = 500
# Enne funktsiooni kutsumist printige globaalse muutuja väärtus
print ("\ nNumbri väärtus =% d"% num)
# Helistage funktsioonile
cal_percentage ()
# Pärast funktsiooni kutsumist printige globaalse muutuja väärtus
print ("\ nNumbri väärtus =% d"% num)

Väljund:

Pärast skripti käivitamist ilmub järgmine väljund. Siin arvutatakse välja ja trükitakse 10% 350-st.

Näide 4: globaalse muutujate kasutamine teisest skriptist

Järgmine näide näitab, kuidas ühes skriptis deklareeritud globaalset muutujat saab teises skriptis kasutada. Oletame, et failinimi on ülemaailmne6.py mis kasutab nimetatud failis määratletud globaalseid muutujaid globaalne5.py. Deklareeritakse kolm globaalset muutujat globaalne5.py. Peate importima globaalne5 muutujate kasutamiseks teises skriptis. Stsenaarium ülemaailmne6.py arvutab sisendväärtuste ja globaalsete muutujate põhjal kolme tüüpi töötajate palga.

#!/ usr / bin / env python3
# see on globaalne5.py-fail
# Ettevõtte põhipalga struktuur
Põhiline = 5000
Meditsiiniline = 500
Transport = 500 #!/ usr / bin / env python3
# see on globaalne6.py-fail
# Importige globaalsed muutujad globaalsest5.py
import ülemaailmne5
# Võtke töötaja nimi
nimi = sisestus ("Sisestage töötaja nimi:")
# Võtke postituse nimi
post = sisestus ("Sisestage postitus:")
# Vea muutuja lähtestamine
viga = vale
# Kontrollige postitust ja määrake põhipalk postituse alusel
kui (postitus.ülemine () == "tegevjuht":
põhiline = globaalne5.Basic + (globaalne5.Põhiline * 0.4)
elif (postitus.ülemine () == "JUHT"):
põhiline = globaalne5.Basic + (globaalne5.Põhiline * 0.25)
elif (postitus.ülemine () == "RAAMATUPidaja"):
põhiline = globaalne5.Basic + (globaalne5.Põhiline * 0.15)
muu:
# Määra vea väärtuseks Tõene, kui postituse väärtust ei leitud
viga = tõene
# Kui viga on õhuke, printige palk välja
kui (viga == Vale):
palk = põhi + globaalne5.Meditsiiniline + globaalne5.Transport
print ("% s palk on% d"% (nimi, palk))
muu:
print ("Postitust ei leitud")

Väljund:

Pärast skripti käivitamist ilmub järgmine väljund. Siin käivitatakse skript kaks korda kehtiva ja kehtetu postitusega.

Järeldus:

Püütoni globaalse muutuja mõistet selgitatakse selles õpetuses koos uute lihtsate näidetega uutele pythoni kasutajatele. Loodan, et lugejad saavad pärast selle õpetuse lugemist korralikud teadmised nii globaalsetest kui ka kohalikest muutujatest.

Vaata autori videot: siin

Kuidas Linuxis oma mänguseanssi jäädvustada ja voogesitada
Varem peeti mängude mängimist ainult hobiks, kuid aja jooksul kasvas mängutööstus tehnoloogia ja mängijate arvu osas tohutult. Mängupublik on veebimän...
Parimad mängud, mida saab mängida käte jälgimisega
Oculus Quest tutvustas hiljuti suurepärast ideed käsitsi jälgimisest ilma kontrolleriteta. Üha suurema hulga mängude ja tegevustega, mis toetavad kas ...
Kuidas kuvada OSD ülekatet täisekraanil Linuxi rakendustes ja mängudes
Täisekraaniga mängude mängimine või rakenduste kasutamine häireteta täisekraanirežiimis võib teid paneelil või tegumiribal kuvatavast asjakohasest süs...