Взаимодействие областей видимости в Python
Бывают случаи, когда внешняя (глобальная) и внутренняя (локальная) переменные имеют одно и тоже имя:
num = 1
def func():
num = 2
print(num)
При этом важно понимать, что локальная num
хоть и имеет тоже название, то и глобальная,
но для Python является другой переменной.
Это значит, что глобальная num
НЕ
перезаписывается внутри функции, а сохраняет
свое первоначальное значение. При вызове
функции func
в консоль выведется
значение только локальной num
, а
через print
- значение глобальной
переменной:
func() # выведет 2
print(num) # выведет 1
Каким будет результат выполнения следующего кода:
num = 10
def func():
num = 5
return num
func()
print(num)
Каким будет результат выполнения следующего кода:
num = 3
def func():
num = 4
return num
num = func()
print(num)
Каким будет результат выполнения следующего кода:
num = 1
def func():
num = 2
return 1
num = func()
print(num)
Каким будет результат выполнения следующего кода:
num1 = 1
def func():
num2 = 2
func()
print(num1)
Каким будет результат выполнения следующего кода:
num1 = 1
def func():
num2 = 2
func()
print(num2)
Каким будет результат выполнения следующего кода:
num1 = 1
def func():
num2 = 2
func()
num2 = 3
print(num2)
Каким будет результат выполнения следующего кода:
num1 = 1
num2 = 2
def func():
num2 = 3
func()
print(num2)
Каким будет результат выполнения следующего кода:
num1 = 1
def func():
num1 = 2
print(num1)