⊗pyPmFnSN 4 of 129 menu

Niuanse pracy z zakresami widoczności w Pythonie

Rozważmy ważne niuanse pracy ze zmiennymi lokalnymi i globalnymi.

Załóżmy, że mamy zmienną globalną num. Stwórzmy funkcję func, która będzie wypisywać globalną num w konsoli:

num = 1 def func(): print(num) func() # wypisze 1

A teraz zadeklarujmy lokalną num w linii poniżej funkcji print. Po wykonaniu kodu w konsoli pojawi się błąd. Dzieje się tak, ponieważ Python wewnątrz funkcji postrzega num tylko jako zmienną lokalną, która jeszcze nie została zadeklarowana:

num = 1 def func(): print(num) # wypisze błąd num = 2

Przepiszmy teraz kod wewnątrz funkcji tak, aby wartość zmiennej num zwiększyła się o 2:

num = 1 def func(): num += 2 # wypisze błąd

Błąd jest spowodowany tym, że wyrażenie num += 2 reprezentuje następujący zapis:

num = num + 2

Jednak sama zmienna lokalna, do której następuje dodanie, jeszcze nie jest zadeklarowana. I odpowiednio Python wypisuje błąd, ponieważ nie można dodać liczby do nieistniejącej wartości.

Jaki będzie wynik wykonania następującego kodu:

tst = '12' def func(): tst = 12 return tst print(tst)

Jaki będzie wynik wykonania następującego kodu:

tst = 'abc' def func(): tst = tst.upper() return tst func() print(tst)

Jaki będzie wynik wykonania następującego kodu:

tst = 'abc' def func(): txt = tst.upper() return txt print(func()) print(tst)
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć