Взаимодействие на областите на видимост в Python

Има случаи, когато външната (глобална) и вътрешната (локална) променлива имат едно и също име:

pythonnum = 1

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

При това е важно да се разбере, че локалната num макар и да има същото име като глобалната, за Python е различна променлива. Това означава, че глобалната num НЕ се пренаписва вътре във функцията, а запазва първоначалната си стойност. При извикване на функцията func в конзолата ще се изведе стойността само на локалната num, а чрез print - стойността на глобалната променлива:

pythonfunc() # ще изведе 2
print(num) # ще изведе 1
Задание 1

Какъв ще бъде резултатът от изпълнението на следния код:

pythonnum = 10

def func():
  num = 5
  return num

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

Какъв ще бъде резултатът от изпълнението на следния код:

pythonnum = 3

def func():
  num = 4
  return num

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

Какъв ще бъде резултатът от изпълнението на следния код:

pythonnum = 1

def func():
  num = 2
  return 1

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

Какъв ще бъде резултатът от изпълнението на следния код:

pythonnum1 = 1

def func():
  num2 = 2

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

Какъв ще бъде резултатът от изпълнението на следния код:

pythonnum1 = 1

def func():
  num2 = 2

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

Какъв ще бъде резултатът от изпълнението на следния код:

pythonnum1 = 1

def func():
  num2 = 2

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

Какъв ще бъде резултатът от изпълнението на следния код:

pythonnum1 = 1
num2 = 2

def func():
  num2 = 3

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

Какъв ще бъде резултатът от изпълнението на следния код:

pythonnum1 = 1

def func():
  num1 = 2

print(num1)