Ключове слово global в Python

 3587

В Python ключове слово global дозволяє змінювати змінну за межами поточної області видимості. Воно використовується для створення глобальної змінної та внесення до неї змін у локальному контексті.

Зміна глобальної змінної в Python

Спочатку спробуємо отримати доступ до глобальної змінної всередині функції:

Результат:

1

Тут ми отримали доступ до глобальної змінної всередині функції. Однак, якщо ми спробуємо змінити глобальну змінну всередині функції наступним чином:

Результат:

UnboundLocalError: local variable 'c' referenced before assignment

Це пов’язано з тим, що ми можемо отримати доступ тільки до глобальної змінної, але не можемо її змінити всередині функції. Рішенням є використовувати ключове слово global. Наприклад:

Результат:

3

Тут ми використали ключове слово global зі змінною c всередині функції add(). Під час виклику функції add() значення глобальної змінної c змінилося з 1 на 3.

Використання ключового слова global у вкладених функціях

В Python ми також можемо використати ключове слово global у вкладених функціях. Наприклад:

Результат:

Before calling inner_function(): 20
After calling inner_function(): 20
Outside both function: 25

Тут ми оголосили змінну num як global всередині вкладеної функції inner_function(). На змінну num у зовнішній функції outer_function() ключове слово global ніяк не впливає. До та після виклику inner_function() змінна num є локальною змінною зі значенням 20, оскільки всі дії виконуються в локальній області видимості функції.

А вже після завершення виконання функції outer_function() ми переходимо в глобальну область видимості, де змінна num приймає значення, визначене в функції inner_function(), тобто num = 25. Це пов’язано з тим, що ми використали ключове слово global.

Правила використання ключового слова global

   Коли ми створюємо змінну всередині функції, вона за замовчуванням стає локальною змінною.

   Коли ми створюємо змінну поза функцією, вона за замовчуванням стає глобальною змінною. Вам не потрібно додатково використовувати для цього ключове слово global.

   Ключове слово global використовується для створення глобальної змінної всередині функції.

   Використання ключового слова global поза функцією не дасть жодного ефекту.

Оцінити статтю:

1 Зірка2 Зірки3 Зірки4 Зірки5 Зірок (18 оцінок, середня: 4,72 з 5)
Завантаження...

Залишити відповідь

Ваш E-mail не буде опублікований. Обов'язкові поля відмічені *