Nuancat e punës me fushëveprimet në Python

Le të shqyrtojmë nuancat e rëndësishme të punës me ndryshore lokale dhe globale.

Le të kemi një ndryshore globale num. Le të krijojmë një funksion func, që do të shfaqë num globale në konsol:

pythonnum = 1

def func():
  print(num)

func() # do të shfaqë 1

Tani le të deklarojmë num lokale në rreshtin pas funksionit print. Pas ekzekutimit të kodit në konsol do të shfaqet një gabim. Kjo ndodh sepse Python brenda funksionit e percepton num vetëm si një ndryshore lokale, e cila ende nuk është deklaruar:

pythonnum = 1

def func():
  print(num) # do të shfaqë gabim
  num = 2

Tani le të rishkruajmë kodin brenda funksionit në mënyrë që vlera e ndryshores num të rritet me 2:

pythonnum = 1

def func():
  num += 2 # do të shfaqë gabim

Gabimi shkaktohet nga fakti se shprehja num += 2 paraqet shënimin e mëposhtëm:

pythonnum = num + 2

Sidoqoftë, vetë ndryshorja lokale, së cilës i shtohet, ende nuk është deklaruar. Dhe në përputhje me rrethanat Python shfaq një gabim, meqenëse nuk mund t'i shtohet një numër një vlere që nuk ekziston.

Задание 1

Cili do të jetë rezultati i ekzekutimit të kodit në vijim:

pythontst = '12'

def func():
  tst = 12
  return tst
  
print(tst)
Задание 2

Cili do të jetë rezultati i ekzekutimit të kodit në vijim:

pythontst = 'abc'

def func():
  tst = tst.upper()
  return tst

func()
print(tst)
Задание 3

Cili do të jetë rezultati i ekzekutimit të kodit në vijim:

pythontst = 'abc'

def func():
txt = tst.upper()
return txt
    
print(func())
print(tst)