Interakcija opsega vidljivosti u Python-u

Dešavaju se slučajevi kada spoljna (globalna) i unutrašnja (lokalna) promenljiva imaju isto ime:

pythonnum = 1

def func():
  num = 2
  print(num)

Pritom je važno razumeti da lokalna num iako ima isto ime kao i globalna, za Python je druga promenljiva. To znači da se globalna num NE prepisuje unutar funkcije, već zadržava svoju početnu vrednost. Pri pozivu funkcije func u konzolu će se ispisati vrednost samo lokalne num, a preko print - vrednost globalne promenljive:

pythonfunc() # ispisaće 2
print(num) # ispisaće 1
Задание 1

Kakav će biti rezultat izvršavanja sledećeg koda:

pythonnum = 10

def func():
  num = 5
  return num

func()
print(num)
Задание 2

Kakav će biti rezultat izvršavanja sledećeg koda:

pythonnum = 3

def func():
  num = 4
  return num

num = func()
print(num)
Задание 3

Kakav će biti rezultat izvršavanja sledećeg koda:

pythonnum = 1

def func():
  num = 2
  return 1

num = func()
print(num)
Задание 4

Kakav će biti rezultat izvršavanja sledećeg koda:

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num1)
Задание 5

Kakav će biti rezultat izvršavanja sledećeg koda:

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num2)
Задание 6

Kakav će biti rezultat izvršavanja sledećeg koda:

pythonnum1 = 1

def func():
  num2 = 2

func()
num2 = 3
print(num2)
Задание 7

Kakav će biti rezultat izvršavanja sledećeg koda:

pythonnum1 = 1
num2 = 2

def func():
  num2 = 3

func()
print(num2)
Задание 8

Kakav će biti rezultat izvršavanja sledećeg koda:

pythonnum1 = 1

def func():
  num1 = 2

print(num1)