Maunawaan ang saklaw ng pandaigdigan na mga variable sa sawa

Understand Global Variables Scope Python



Ang dalawang uri ng mga variable ay maaaring tukuyin sa karamihan ng mga wika ng programa. Ito ang mga pandaigdigang variable at lokal na variable. Ang mga variable na tinukoy sa labas ng pagpapaandar ay tinatawag na isang global variable. Ang variable na ito ay naa-access at nababago mula sa kahit saan sa script. Ang variable na idineklara sa loob ng pagpapaandar ay tinatawag na lokal na variable. Ngunit kung ang parehong pangalan ng variable ay umiiral bilang mga pandaigdigan at lokal na mga variable pagkatapos ang variable sa loob ng pagpapaandar ay makakakuha ng priyoridad at ang halaga ng pandaigdigang variable ay hindi papansinin. Ang saklaw ng pandaigdigang variable sa script ng sawa ay ipinapakita sa tutorial na ito gamit ang iba't ibang mga halimbawa.

Halimbawa-1: Simpleng paggamit ng isang pandaigdigang variable

Ipinapakita ng sumusunod na halimbawa ang simpleng paggamit ng isang pandaigdigang variable sa loob ng pagpapaandar at labas ng pagpapaandar. Dito, isang pandaigdigang variable na pinangalanan text ay ginagamit upang magtalaga ng isang data ng string. Isang pasadyang pagpapaandar na pinangalanan printMessage () ay tinukoy upang mai-print ang halaga ng global variable. Ang halaga ng text variable ay naka-print sa loob ng pag-andar at sa labas ng pag-andar pagkatapos baguhin ang halaga.







#! / usr / bin / env python3

# Tukuyin ang isang pandaigdigang variable
text= 'Maligayang pagdating sa LinuxHint'

# Tukuyin ang isang pagpapaandar
defprintMessage():

# I-print ang global variable mula sa pagpapaandar
mag-print('Global variable sa loob ng pag-andar: n',text)

# Tumawag sa pagpapaandar
printMessage()

# Baguhin ang halaga ng global variable
text= 'Alamin ang Python Programming'

# I-print ang kasalukuyang halaga ng global variable
mag-print('Global variable sa labas ng pag-andar: n',text)

Output:



Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script. Inilimbag nito ang halaga, ‘ Maligayang pagdating sa LinuxHint ' na nakatalaga sa variable bago tumawag sa pagpapaandar. Susunod, inilimbag nito ang halaga, 'Alamin ang Python Programming' matapos baguhin ang halaga ng variable.







Halimbawa-2: Paggamit ng pandaigdigan at lokal na variable na may parehong pangalan

Kung nais mong ideklara ang isang variable na pangalan sa loob ng isang pagpapaandar na idineklara bilang isang pandaigdigang variable bago sa sawa at nais na gamitin ang variable pagkatapos ay ituturing nito ang variable bilang isang lokal na variable at makabuo ng isang error. Ipapakita ng sumusunod na script ang error. Dito, ang teksto ang variable ay tinukoy bilang isang pandaigdigan at lokal na variable.

#! / usr / bin / env python3

# Tukuyin ang isang pandaigdigang variable
text= 'Gusto ko ng Python'

# Tukuyin ang isang pagpapaandar
defprintMessage():
mag-print(text)

text= 'Gusto ko ng PHP'

# Tumawag sa pagpapaandar
printMessage()

Output:



Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script.

Upang maiwasan ang sitwasyon sa itaas at kung nais mong ideklara ang isang lokal na variable na may parehong pangalan bilang isang pandaigdigang variable pagkatapos ay italaga mo muna ang lokal na variable sa loob ng pagpapaandar. Ipinapakita ng sumusunod na script na ang mga pagbabago sa lokal na variable ay hindi gumawa ng anumang pagbabago sa global variable. text variable ay naka-print sa loob at labas ng pagpapaandar dito.

#! / usr / bin / env python3

# Tukuyin ang isang pandaigdigang variable
text= 'Gusto ko ng Python'

# Tukuyin ang isang pagpapaandar
defprintMessage():
# Degine lokal na halaga
text= 'Gusto ko ng PHP'
# I-print ang lokal na variable, teksto
mag-print('Ang halaga ng' teksto 'sa loob ng pagpapaandar: n',text)

# Tumawag sa pagpapaandar
printMessage()

# I-print ang global variable, teksto
mag-print('Ang halaga ng' teksto 'sa labas ng pagpapaandar: n',text)

Output:

Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script.

Halimbawa-3: Paggamit ng pandaigdigang variable sa loob ng pagpapaandar

Ipinapakita ng nakaraang halimbawa na ang pandaigdigang variable ay hindi maa-access sa loob ng isang pagpapaandar. Pwede mong gamitin ang pandaigdigan keyword upang ma-access ang isang pandaigdigang variable mula sa anumang pagpapaandar. Sa sumusunod na script, cal_percentage () tinukoy ang pagpapaandar upang makalkula ang porsyento ng anumang bilang kung saan parehong ginagamit ang pandaigdigan at lokal na mga variable. Dito, sa isa ay isang pandaigdigang variable, at perVal ay isang lokal na variable. pandaigdigan ginamit ang keyword dito upang makilala ang pandaigdigang variable sa loob ng pag-andar at ang halaga ng pandaigdigang variable ay binago sa loob ng pagpapaandar.

#! / usr / bin / env python3

# Kumuha ng isang halaga ng integer
sa isa= int(input('Magpasok ng isang numero:'))

# Tukuyin ang pagpapaandar
defcal_percentage():
# Kilalanin ang pandaigdigang variable gamit ang pandaigdigang keyword
pandaigdigansa isa

# Kumuha ng isang halaga ng integer bilang porsyento
perVal= int(input('Ipasok ang halaga ng porsyento:'))

# Kalkulahin ang halagang porsyento
resulta= lumutang((kung * perVal)/100)

# I-print ang na-format na resulta
mag-print('% d porsyento ng% d =% f'%(perVal,sa isa,resulta))

# Baguhin ang halaga ng global variable
sa isa= 500

# I-print ang halaga ng global variable bago tawagan ang pagpapaandar
mag-print(' nAng halaga ng num =% d '%sa isa)

# Tumawag sa pagpapaandar
cal_percentage()

# I-print ang halaga ng global variable matapos tawagan ang pagpapaandar
mag-print(' nAng halaga ng num =% d '%sa isa)

Output:

Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script. Dito, 10% ng 350 ang kinakalkula at naka-print.

Halimbawa-4: Paggamit ng mga pandaigdigang variable mula sa ibang script

Ipinapakita ng sumusunod na halimbawa na kung paano ang global variable na idineklara sa isang script ay maaaring magamit sa ibang script. Kumbaga, ang filename ay global6.py gagamitin ang mga pandaigdigang variable na tinukoy sa file na pinangalanan global5.py . Tatlong pandaigdigang mga variable ay idineklara sa global5.py . Kailangan mong mag-import pandaigdigan5 upang magamit ang mga variable sa ibang script. Ang iskrip ng global6.py kakalkulahin ang suweldo ng tatlong uri ng mga empleyado batay sa mga halaga ng pag-input at mga variable sa buong mundo.

#! / usr / bin / env python3
# ito ang global5.py file

# Pangunahing istraktura ng suweldo ng isang kumpanya
Batayan= 5000
Medikal= 500
Transportasyon= 500 #! / usr / bin / env python3
# ito ay global6.py file

# I-import ang mga pandaigdigang variable mula sa global5.py
angkatpandaigdigan5

# Kunin ang pangalan ng empleyado
pangalan= input('Ipasok ang pangalan ng empleyado:')
# Kunin ang pangalan ng post
post= input('Ipasok ang post:')

# Ipasimula ang variable ng error
kamalian= Mali

# Suriin ang post at itakda ang pangunahing suweldo batay sa post
kung(postitaas() == 'CEO'):
batayan=pandaigdigan5.Batayan+(pandaigdigan5.Batayan*0.4)
elif(postitaas() == 'MANAGER'):
batayan=pandaigdigan5.Batayan+(pandaigdigan5.Batayan*0.25)
elif(postitaas() == 'ACCOUNTANT'):
batayan=pandaigdigan5.Batayan+(pandaigdigan5.Batayan*0.15)
iba pa:
# Itakda ang error sa totoo kung hindi nahanap ang halaga ng post
kamalian= Totoo

# I-print ang suweldo kung ang error ay flase
kung (kamalian== Mali):
suweldo=pangunahing + pandaigdigan5.Medikal+ pandaigdigan5.Transportasyon
mag-print('Ang suweldo ng% s ay% d'%(pangalan,suweldo))
iba pa:
mag-print('Hindi nakita ang post')

Output:

Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script. Dito, pinapatakbo ang script ng dalawang beses na may wastong post at hindi wastong post.

Konklusyon:

Ang konsepto ng isang pandaigdigang variable sa sawa ay ipinaliwanag sa tutorial na ito na may iba't ibang mga simpleng halimbawa para sa mga bagong gumagamit ng sawa. Inaasahan kong makukuha ng mga mambabasa ang wastong kaalaman sa mga pandaigdigan na variable pati na rin mga lokal na variable pagkatapos basahin ang tutorial na ito.

Panoorin ang Video ng May-akda: dito