Izprotiet globālo mainīgo darbības jomu python

Understand Global Variables Scope Python



Lielākajā daļā programmēšanas valodu var definēt divu veidu mainīgos. Tie ir globālie un vietējie mainīgie. Mainīgos, kas definēti ārpus funkcijas, sauc par globālajiem mainīgajiem. Šis mainīgais ir pieejams un maināms no jebkuras vietas skriptā. Funkcijas iekšienē deklarēto mainīgo sauc par vietējo mainīgo. Bet, ja pastāv tāds pats mainīgā nosaukums kā globālajiem un vietējiem mainīgajiem, tad mainīgais funkcijas iekšienē iegūs prioritāti un globālā mainīgā vērtība tiks ignorēta. Globālā mainīgā darbības joma python skriptā ir parādīta šajā apmācībā, izmantojot dažādus piemērus.

1. piemērs: vienkārša globālā mainīgā izmantošana

Šis piemērs parāda vienkāršu globālā mainīgā izmantošanu funkcijā un ārpus tās. Šeit ir globāls mainīgais ar nosaukumu teksts tiek izmantots, lai piešķirtu virknes datus. Pielāgota funkcija ar nosaukumu printMessage () ir definēts, lai drukātu globālā mainīgā vērtību. Vērtība teksts mainīgais tiek drukāts funkcijas iekšpusē un ārpus funkcijas pēc vērtības maiņas.







#!/usr/bin/env python3

# Definējiet globālo mainīgo
teksts= 'Laipni lūdzam LinuxHint'

# Definējiet funkciju
defprintMessage():

# Drukājiet globālo mainīgo no funkcijas
drukāt(Globālais mainīgais iekšējā funkcijā: n',teksts)

# Izsauciet funkciju
printMessage()

# Mainiet globālā mainīgā vērtību
teksts= 'Uzziniet Python programmēšanu'

# Izdrukājiet globālā mainīgā pašreizējo vērtību
drukāt(“Globālā mainīgā ārējā funkcija: n',teksts)

Izeja:



Pēc skripta palaišanas parādīsies šāda izvade. Tā drukāja vērtību: ' Laipni lūdzam LinuxHint ” kas tiek piešķirts mainīgajam pirms funkcijas izsaukšanas. Tālāk tas drukāja vērtību, “Uzziniet Python programmēšanu” pēc mainīgā vērtības mainīšanas.







2. piemērs: globālā un vietējā mainīgā izmantošana ar tādu pašu nosaukumu

Ja vēlaties deklarēt mainīgā nosaukumu funkcijā, kas python jau ir deklarēta kā globāls mainīgais, un vēlaties izmantot mainīgo, tas mainīgo uzskatīs par vietējo mainīgo un radīs kļūdu. Šis skripts parādīs kļūdu. Šeit, teksts mainīgais tiek definēts kā globāls un lokāls mainīgais.

#!/usr/bin/env python3

# Definējiet globālo mainīgo
teksts= 'Man patīk Python'

# Definējiet funkciju
defprintMessage():
drukāt(teksts)

teksts= 'Man patīk PHP'

# Izsauciet funkciju
printMessage()

Izeja:



Pēc skripta palaišanas parādīsies šāda izvade.

Lai izvairītos no iepriekš minētās situācijas un ja vēlaties deklarēt vietējo mainīgo ar tādu pašu nosaukumu kā globālo mainīgo, vispirms funkcijā ir jāpiešķir vietējais mainīgais. Šis skripts parāda, ka izmaiņas vietējā mainīgajā nemaina vispārējo mainīgo. teksts mainīgais šeit tiek drukāts funkcijas iekšpusē un ārpusē.

#!/usr/bin/env python3

# Definējiet globālo mainīgo
teksts= 'Man patīk Python'

# Definējiet funkciju
defprintMessage():
# Nosakiet vietējo vērtību
teksts= 'Man patīk PHP'
# Izdrukājiet vietējo mainīgo, tekstu
drukāt(Funkcijas “teksts” vērtība: n',teksts)

# Izsauciet funkciju
printMessage()

# Izdrukājiet globālo mainīgo, tekstu
drukāt(Funkcijas “teksts” vērtība: n',teksts)

Izeja:

Pēc skripta palaišanas parādīsies šāda izvade.

3. piemērs: globālā mainīgā izmantošana funkcijas iekšienē

Iepriekšējais piemērs parāda, ka globālais mainīgais nav pieejams funkcijā. Tu vari izmantot globālā atslēgvārdu, lai piekļūtu globālajam mainīgajam no jebkuras funkcijas. Nākamajā skriptā cal_percentage () funkcija ir definēta, lai aprēķinātu jebkura skaitļa procentuālo daļu, ja tiek izmantoti gan globālie, gan vietējie mainīgie. Šeit, uz vienu ir globāls mainīgais, un perVal ir lokāls mainīgais. globāls atslēgvārds šeit tiek izmantots, lai identificētu globālo mainīgo funkcijas iekšienē, un globālā mainīgā vērtība tiek mainīta funkcijas iekšienē.

#!/usr/bin/env python3

# Ņemiet veselu skaitli
uz vienu= int(ievadi('Ievadiet numuru:'))

# Definējiet funkciju
defcal_percentage():
# Atpazīstiet globālo mainīgo, izmantojot globālo atslēgvārdu
globālsuz vienu

# Ņemiet veselu skaitli kā procentuālo vērtību
perVal= int(ievadi('Ievadiet procentuālo vērtību:'))

# Aprēķiniet procentuālo vērtību
rezultāts= peldēt((vai *perVal)/100)

# Izdrukājiet formatēto rezultātu
drukāt(' %d procentuālā daļa no %d = %f'%(perVal,uz vienu,rezultāts))

# Mainiet globālā mainīgā vērtību
uz vienu= 500

# Pirms funkcijas izsaukšanas izdrukājiet globālā mainīgā vērtību
drukāt(' nVērtība num = %d '%uz vienu)

# Izsauciet funkciju
cal_percentage()

# Pēc funkcijas izsaukšanas izdrukājiet globālā mainīgā vērtību
drukāt(' nVērtība num = %d '%uz vienu)

Izeja:

Pēc skripta palaišanas parādīsies šāda izvade. Šeit tiek aprēķināti un izdrukāti 10% no 350.

4. piemērs. Globālo mainīgo izmantošana no cita skripta

Šis piemērs parāda, kā vienā skriptā deklarēto globālo mainīgo var izmantot citā skriptā. Pieņemsim, ka faila nosaukums ir global6.py kas izmantos globālos mainīgos, kas definēti nosauktajā failā global5.py . Gadā ir deklarēti trīs globālie mainīgie global5.py . Jums ir jāimportē globāls5 izmantot mainīgos citā skriptā. Gada scenārijs global6.py aprēķinās algu trīs veidu darbiniekiem, pamatojoties uz ievades vērtībām un globālajiem mainīgajiem.

#!/usr/bin/env python3
# tas ir global5.py fails

# Uzņēmuma algas pamatstruktūra
Pamata= 5000
Medicīnas= 500
Transports= 500 #!/usr/bin/env python3
# tas ir global6.py fails

# Importējiet globālos mainīgos no global5.py
importētglobāls5

# Ņemiet darbinieka vārdu
vārds= ievadi('Ievadiet darbinieka vārdu:')
# Ņemiet ziņas nosaukumu
ziņu= ievadi('Ievadiet ziņu:')

# Inicializējiet kļūdas mainīgo
kļūda= Nepatiess

# Pārbaudiet pastu un, pamatojoties uz amatu, iestatiet pamatalgu
ja(ziņu.augšējā() == 'Izpilddirektors'):
pamata=globāls5.Pamata+(globāls5.Pamata*0.4)
elifs(ziņu.augšējā() == 'PĀRVALDĪTĀJS'):
pamata=globāls5.Pamata+(globāls5.Pamata*0.25)
elifs(ziņu.augšējā() == 'GRĀMATVEDIS'):
pamata=globāls5.Pamata+(globāls5.Pamata*0,15)
citādi:
# Iestatiet kļūdu uz patiesu, ja ziņas vērtība nav atrasta
kļūda= Taisnība

# Izdrukājiet algu, ja kļūda ir kļūda
ja (kļūda== Nepatiess):
alga=pamata + globāls5.Medicīnas+ globāls5.Transports
drukāt(' %S alga ir %d'%(vārds,alga))
citādi:
drukāt('Ziņa nav atrasta')

Izeja:

Pēc skripta palaišanas parādīsies šāda izvade. Šeit skripts tiek izpildīts divas reizes ar derīgu ziņu un nederīgu ziņu.

Secinājums:

Globālā mainīgā jēdziens python ir paskaidrots šajā apmācībā ar dažādiem vienkāršiem piemēriem jaunajiem python lietotājiem. Es ceru, ka lasītāji pēc šīs apmācības izlasīšanas iegūs pareizas zināšanas par globālajiem mainīgajiem, kā arī vietējiem mainīgajiem.

Skatieties autora video: šeit