Взаимодействие областей видимости в 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)