Ymmärtää globaalien muuttujien laajuuden pythonissa

Understand Global Variables Scope Python



Useimmissa ohjelmointikielissä voidaan määrittää kahdenlaisia ​​muuttujia. Nämä ovat globaaleja ja paikallisia muuttujia. Funktion ulkopuolella määriteltyjä muuttujia kutsutaan globaaleiksi muuttujiksi. Tämä muuttuja on käytettävissä ja muutettavissa mistä tahansa komentosarjan kohdasta. Funktion sisällä ilmoitettua muuttujaa kutsutaan paikallismuuttujaksi. Mutta jos sama muuttujan nimi on olemassa globaaleina ja paikallisina muuttujina, funktion sisällä oleva muuttuja saa prioriteetin ja globaalin muuttujan arvo jätetään huomiotta. Python -komentosarjan globaalin muuttujan laajuus esitetään tässä opetusohjelmassa käyttämällä erilaisia ​​esimerkkejä.

Esimerkki 1: Yleisen muuttujan yksinkertainen käyttö

Seuraava esimerkki esittää globaalin muuttujan yksinkertaisen käytön funktion sisällä ja sen ulkopuolella. Tässä globaali muuttuja nimeltä teksti käytetään merkkijonotietojen määrittämiseen. Mukautettu toiminto nimeltä printMessage () on määritetty tulostamaan globaalin muuttujan arvo. Arvo teksti muuttuja tulostetaan toiminnon sisälle ja sen ulkopuolelle arvon muuttamisen jälkeen.







#!/usr/bin/env python3

# Määritä globaali muuttuja
teksti= 'Tervetuloa LinuxHintiin'

# Määritä toiminto
defprintMessage():

# Tulosta yleinen muuttuja funktiosta
Tulosta('' Globaali muuttuja sisätoiminto: n'',teksti)

# Soita toimintoon
printMessage()

# Muuta globaalin muuttujan arvoa
teksti= 'Opi Python -ohjelmointia'

# Tulosta globaalin muuttujan nykyinen arvo
Tulosta('Globaali muuttuja ulkopuolinen toiminto: n'',teksti)

Lähtö:



Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen. Se painoi arvon, Tervetuloa LinuxHintiin! joka on määritetty muuttujalle ennen funktion kutsumista. Seuraavaksi se painoi arvon, 'Opi Python -ohjelmointia' muuttujan arvon muuttamisen jälkeen.







Esimerkki 2: Saman nimisen globaalin ja paikallisen muuttujan käyttö

Jos haluat julkaista muuttujan nimen funktiossa, joka on jo ilmoitettu globaalimuuttujaksi pythonissa ja haluat käyttää muuttujaa, se käsittelee muuttujaa paikallisena muuttujana ja tuottaa virheen. Seuraava skripti näyttää virheen. Tässä, teksti muuttuja määritellään globaaliksi ja paikalliseksi muuttujaksi.

#!/usr/bin/env python3

# Määritä globaali muuttuja
teksti= 'Pidän Pythonista'

# Määritä toiminto
defprintMessage():
Tulosta(teksti)

teksti= 'Pidän PHP: stä'

# Soita toimintoon
printMessage()

Lähtö:



Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Yllä olevan tilanteen välttämiseksi ja jos haluat julistaa paikallisen muuttujan, jolla on sama nimi kuin globaali muuttuja, sinun on ensin määritettävä paikallinen muuttuja funktion sisällä. Seuraava skripti osoittaa, että paikallisen muuttujan muutokset eivät muuta globaalia muuttujaa. teksti muuttuja tulostetaan funktion sisä- ja ulkopuolelle.

#!/usr/bin/env python3

# Määritä globaali muuttuja
teksti= 'Pidän Pythonista'

# Määritä toiminto
defprintMessage():
# Laske paikallista arvoa
teksti= 'Pidän PHP: stä'
# Tulosta paikallinen muuttuja, teksti
Tulosta('Tekstin' arvo funktion sisällä: n'',teksti)

# Soita toimintoon
printMessage()

# Tulosta globaali muuttuja, teksti
Tulosta('Tekstin' ulkopuolisen funktion arvo: n'',teksti)

Lähtö:

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Esimerkki 3: Globaalin muuttujan käyttö funktion sisällä

Edellinen esimerkki osoittaa, että yleinen muuttuja ei ole käytettävissä funktion sisällä. Voit käyttää globaali avainsana, jos haluat käyttää yleistä muuttujaa mistä tahansa toiminnosta. Seuraavassa skriptissä cal_percentage () funktio on määritetty laskemaan prosenttiosuus mistä tahansa numerosta, jossa käytetään sekä yleisiä että paikallisia muuttujia. Tässä, yhdellä on globaali muuttuja, ja perVal on paikallinen muuttuja. maailmanlaajuinen avainsanaa käytetään tässä tunnistamaan funktion sisällä oleva globaali muuttuja ja globaalin muuttujan arvo muutetaan funktion sisällä.

#!/usr/bin/env python3

# Ota kokonaisluku
yhdellä= int(tulo('Anna numero:'))

# Määritä toiminto
defcal_prosentti():
# Tunnista globaali muuttuja käyttämällä yleistä avainsanaa
maailmanlaajuinenyhdellä

# Ota kokonaisluku prosentteina
perVal= int(tulo('Syötä prosenttiarvo:'))

# Laske prosentuaalinen arvo
tulos= kellua((onko *perVal)/100)

# Tulosta muotoiltu tulos
Tulosta(' %d prosenttiosuus %d = %f'%(perVal,yhdellä,tulos))

# Muuta globaalin muuttujan arvoa
yhdellä= 500

# Tulosta globaalin muuttujan arvo ennen funktion kutsumista
Tulosta('' nArvo numero = %d '%yhdellä)

# Soita toimintoon
cal_prosentti()

# Tulosta globaalin muuttujan arvo funktion kutsumisen jälkeen
Tulosta('' nArvo numero = %d '%yhdellä)

Lähtö:

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen. Tässä lasketaan ja tulostetaan 10% 350: stä.

Esimerkki 4: Globaalien muuttujien käyttö toisesta komentosarjasta

Seuraava esimerkki osoittaa, kuinka yhdessä skriptissä ilmoitettua globaalia muuttujaa voidaan käyttää toisessa komentosarjassa. Oletetaan, että tiedostonimi on global6.py joka käyttää nimettyyn tiedostoon määritettyjä globaaleja muuttujia global5.py . Kolme globaalia muuttujaa ilmoitetaan vuonna global5.py . Sinun on tuotava maailmanlaajuinen 5 käyttää muuttujia toisessa komentosarjassa. Käsikirjoitus global6.py laskee kolmen tyyppisten työntekijöiden palkan panosarvojen ja globaalimuuttujien perusteella.

#!/usr/bin/env python3
# tämä on global5.py -tiedosto

# Yrityksen peruspalkkarakenne
Perus= 5000
Lääketieteellinen= 500
Kuljetus= 500 #!/usr/bin/env python3
# Tämä on global6.py -tiedosto

# Tuo globaalimuuttujat osoitteesta global5.py
tuontimaailmanlaajuinen 5

# Ota työntekijän nimi
nimi= tulo('Anna työntekijän nimi:')
# Ota viestin nimi
lähettää= tulo('Kirjoita viesti:')

# Alusta virhemuuttuja
virhe= Väärä

# Tarkista viesti ja aseta peruspalkka postin perusteella
jos(lähettää.ylempi() == 'TOIMITUSJOHTAJA'):
perus=maailmanlaajuinen 5.Perus+(maailmanlaajuinen 5.Perus*0.4)
elif(lähettää.ylempi() == 'MANAGER'):
perus=maailmanlaajuinen 5.Perus+(maailmanlaajuinen 5.Perus*0,25)
elif(lähettää.ylempi() == 'KIRJANPITÄJÄ'):
perus=maailmanlaajuinen 5.Perus+(maailmanlaajuinen 5.Perus*0,15)
muu:
# Aseta virhe arvoksi true, jos postin arvoa ei löydy
virhe= Totta

# Tulosta palkka, jos virhe ilmenee
jos (virhe== Väärä):
palkka=perus + globaali5.Lääketieteellinen+ maailmanlaajuinen 5.Kuljetus
Tulosta(' %S: n palkka on %d'%(nimi,palkka))
muu:
Tulosta('Viestiä ei löydy')

Lähtö:

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen. Täällä komentosarja suoritetaan kaksi kertaa kelvollisella ja virheellisellä viestillä.

Johtopäätös:

Globaalin muuttujan käsite pythonissa selitetään tässä opetusohjelmassa useilla yksinkertaisilla esimerkeillä uusille python -käyttäjille. Toivon, että lukijat saavat oikean tiedon globaaleista muuttujista sekä paikallisista muuttujista tämän opetusohjelman lukemisen jälkeen.

Katso tekijän video: tässä