Înțelegeți domeniul variabilelor globale în python

Understand Global Variables Scope Python



Două tipuri de variabile pot fi definite în majoritatea limbajelor de programare. Acestea sunt variabile globale și variabile locale. Variabilele definite în afara funcției se numesc variabile globale. Această variabilă este accesibilă și modificabilă de oriunde din script. Variabila declarată în interiorul funcției se numește variabilă locală. Dar dacă există același nume de variabilă ca variabile globale și locale, atunci variabila din interiorul funcției va primi prioritatea și valoarea variabilei globale va fi ignorată. Scopul variabilei globale din scriptul python este prezentat în acest tutorial folosind diverse exemple.

Exemplu-1: Utilizarea simplă a unei variabile globale

Următorul exemplu arată utilizarea simplă a unei variabile globale în interiorul funcției și în afara funcției. Aici, o variabilă globală numită text este folosit pentru a atribui un șir de date. O funcție personalizată numită printMessage () este definit pentru a imprima valoarea variabilei globale. Valoarea text variabila este tipărită în interiorul funcției și în afara funcției după modificarea valorii.







#! / usr / bin / env python3

# Definiți o variabilă globală
text= „Bun venit la LinuxHint”

# Definiți o funcție
defprintMessage():

# Imprimați variabila globală din funcție
imprimare(Funcția variabilă globală din interior: n',text)

# Apelați funcția
printMessage()

# Schimbați valoarea variabilei globale
text= „Învățați programarea Python”

# Imprimați valoarea curentă a variabilei globale
imprimare(„Variabila globală în afara funcției: n',text)

Ieșire:



Următoarea ieșire va apărea după rularea scriptului. A tipărit valoarea, „ Bun venit la LinuxHint ’ care este atribuită variabilei înainte de a apela funcția. Apoi, a imprimat valoarea, „Aflați programarea Python” după schimbarea valorii variabilei.







Exemplu-2: Utilizarea variabilei globale și locale cu același nume

Dacă doriți să declarați un nume de variabilă într-o funcție care este deja declarată ca variabilă globală în python și doriți să utilizați variabila, atunci va trata variabila ca o variabilă locală și va genera o eroare. Următorul script va afișa eroarea. Aici, textul variabila este definită ca o variabilă globală și locală.

#! / usr / bin / env python3

# Definiți o variabilă globală
text= „Îmi place Python”

# Definiți o funcție
defprintMessage():
imprimare(text)

text= „Îmi place PHP”

# Apelați funcția
printMessage()

Ieșire:



Următoarea ieșire va apărea după rularea scriptului.

Pentru a evita situația de mai sus și dacă doriți să declarați o variabilă locală cu același nume ca o variabilă globală, trebuie să atribuiți mai întâi variabila locală din interiorul funcției. Următorul script arată că modificările variabilei locale nu fac nicio modificare în variabila globală. text variabila este tipărită în interiorul și în afara funcției aici.

#! / usr / bin / env python3

# Definiți o variabilă globală
text= „Îmi place Python”

# Definiți o funcție
defprintMessage():
# Deginează valoarea locală
text= „Îmi place PHP”
# Imprimați variabila locală, text
imprimare(„Valoarea„ textului ”din interiorul funcției: n',text)

# Apelați funcția
printMessage()

# Imprimați variabila globală, text
imprimare(„Valoarea„ textului ”în afara funcției: n',text)

Ieșire:

Următoarea ieșire va apărea după rularea scriptului.

Exemplul-3: Utilizarea variabilei globale în interiorul funcției

Exemplul anterior arată că variabila globală nu este accesibilă în interiorul unei funcții. Poți să folosești global cuvânt cheie pentru a accesa o variabilă globală din orice funcție. În scriptul următor, cal_percentage () funcția este definită pentru a calcula procentajul oricărui număr în care sunt utilizate atât variabile globale cât și locale. Aici, pe unu este o variabilă globală și perVal este o variabilă locală. global cuvântul cheie este utilizat aici pentru a identifica variabila globală din interiorul funcției și valoarea variabilei globale este modificată în interiorul funcției.

#! / usr / bin / env python3

# Luați o valoare întreagă
pe unu= int(intrare('Introduceți un număr:'))

# Definiți funcția
defcal_percentage():
# Recunoașteți variabila globală utilizând cuvânt cheie global
globalpe unu

# Luați o valoare întreagă ca procent
perVal= int(intrare(„Introduceți valoarea procentuală:”))

# Calculați valoarea procentuală
rezultat= pluti((dacă * perVal)/100)

# Imprimați rezultatul formatat
imprimare(„% d procent de% d =% f”%(perVal,pe unu,rezultat))

# Schimbați valoarea variabilei globale
pe unu= 500

# Imprimați valoarea variabilei globale înainte de a apela funcția
imprimare(' nValoarea num =% d '%pe unu)

# Apelați funcția
cal_percentage()

# Imprimați valoarea variabilei globale după apelarea funcției
imprimare(' nValoarea num =% d '%pe unu)

Ieșire:

Următoarea ieșire va apărea după rularea scriptului. Aici, 10% din 350 sunt calculate și tipărite.

Exemplu-4: Utilizarea variabilelor globale dintr-un alt script

Următorul exemplu arată că modul în care variabila globală declarată într-un script poate fi utilizată într-un alt script. Să presupunem că numele fișierului este global6.py care va utiliza variabilele globale definite în fișierul numit global5.py . Trei variabile globale sunt declarate în global5.py . Trebuie să importați global5 pentru a utiliza variabilele într-un alt script. Scenariul global6.py va calcula salariul a trei tipuri de angajați pe baza valorilor de intrare și a variabilelor globale.

#! / usr / bin / env python3
# acesta este un fișier global5.py

# Structura salarială de bază a unei companii
De bază= 5000
Medical= 500
Transport= 500 #! / usr / bin / env python3
# acesta este fișier global6.py

# Importați variabilele globale din global5.py
importglobal5

# Luați numele angajatului
Nume= intrare(„Introduceți numele angajatului:”)
# Luați numele postării
post= intrare(„Introduceți postarea:”)

# Inițializați variabila de eroare
eroare= Fals

# Verificați postul și stabiliți salariul de bază pe baza postului
dacă(post.superior() == 'CEO'):
de bază=global5.De bază+(global5.De bază*0,4)
elif(post.superior() == 'ADMINISTRATOR'):
de bază=global5.De bază+(global5.De bază*0,25)
elif(post.superior() == 'CONTABIL'):
de bază=global5.De bază+(global5.De bază*0,15)
altceva:
# Setați eroarea la adevărat dacă nu se găsește valoarea postării
eroare= Adevărat

# Imprimați salariul dacă eroarea este simplă
dacă (eroare== Fals):
salariu=de bază + global5.Medical+ global5.Transport
imprimare(„Salariul% s este% d”%(Nume,salariu))
altceva:
imprimare(„Postarea nu este găsită”)

Ieșire:

Următoarea ieșire va apărea după rularea scriptului. Aici, scriptul este rulat de două ori cu o postare validă și postare nevalidă.

Concluzie:

Conceptul de variabilă globală în python este explicat în acest tutorial cu diferite exemple simple pentru noii utilizatori de python. Sper că cititorii vor obține cunoștințele corespunzătoare despre variabilele globale, precum și despre variabilele locale după ce au citit acest tutorial.

Urmăriți videoclipul autorului: Aici