Module (46%)
Section (100%)

Основные тезисы


1. Переменная, которая существует вне функции, имеет область видимости внутри тела функции (Пример 1), если только функция не определяет переменную с тем же именем (Пример 2 и Пример 3), например:

Пример 1:

var = 2 def mult_by_var(x): return x * var print(mult_by_var(7)) # outputs: 14

Пример 2:

def mult(x): var = 5 return x * var print(mult(7)) # outputs: 35

Пример 3:

def mult(x): var = 7 return x * var var = 3 print(mult(7)) # outputs: 49

2. Переменная, которая существует внутри функции, имеет область видимости внутри тела функции (Пример 4), например:

Пример 4:

def adding(x): var = 7 return x + var print(adding(4)) # outputs: 11 print(var) # NameError

3. Вы можете использовать ключевое слово global, за которым следует имя переменной, чтобы сделать область видимости переменной глобальной, например:

var = 2 print(var) # outputs: 2 def return_var(): global var var = 5 return var print(return_var()) # outputs: 5 print(var) # outputs: 5


Упражнение 1

Что произойдет, когда Вы попытаетесь запустить следующий код?

def message(): alt = 1 print("Hello, World!") print(alt)

Упражнение 2

Что выведет следующий код?

a = 1 def fun(): a = 2 print(a) fun() print(a)

Упражнение 3

Что выведет следующий код?

a = 1 def fun(): global a a = 2 print(a) fun() a = 3 print(a)

Упражнение 4

Что выведет следующий код?

a = 1 def fun(): global a a = 2 print(a) a = 3 fun() print(a)