⊗pyPmFnSN 4 of 129 menu

Specifika práce s oblastmi viditelnosti v Pythonu

Podívejme se na důležité nuance práce s lokálními a globálními proměnnými.

Předpokládejme, že máme globální proměnnou num. Vytvořme funkci func, která bude vypisovat globální num do konzole:

num = 1 def func(): print(num) func() # vypíše 1

Nyní deklarujme lokální num na řádku níže pod funkcí print. Po spuštění kódu se v konzoli objeví chyba. K tomu dochází proto, že Python uvnitř funkce vnímá num pouze jako lokální proměnnou, která ještě nebyla deklarována:

num = 1 def func(): print(num) # vypíše chybu num = 2

Nyní přepišme kód uvnitř funkce tak, aby se hodnota proměnné num zvýšila o 2:

num = 1 def func(): num += 2 # vypíše chybu

Chyba je způsobena tím, že výraz num += 2 je ekvivalentní následujícímu zápisu:

num = num + 2

Avšak samotná lokální proměnná, ke které dochází k přičítání, ještě nebyla deklarována. A tudíž Python vypisuje chybu, protože nelze přičíst číslo k neexistující hodnotě.

Jaký bude výsledek provedení následujícího kódu:

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

Jaký bude výsledek provedení následujícího kódu:

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

Jaký bude výsledek provedení následujícího kódu:

tst = 'abc' def func(): txt = tst.upper() return txt print(func()) print(tst)
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout