Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Глобальна Змінна | Область видимості змінних
Середній Рівень Python: Аргументи, Генератори та Декоратори
course content

Зміст курсу

Середній Рівень Python: Аргументи, Генератори та Декоратори

Середній Рівень Python: Аргументи, Генератори та Декоратори

1. Пакування та Розпакування
2. Аргументи Функції
3. Функція як Аргумент
4. Область видимості змінних
5. Декоратори

bookГлобальна Змінна

Не всі об'єкти доступні скрізь у скрипті. Область видимості - частина програми (коду), в якій можливий доступ до об'єкта або змінної.

Глобальна змінна не оголошується всередині функцій; вона знаходиться в "глобальній області видимості", яка є основним тілом скрипта. Це означає, що до глобальної змінної можна отримати доступ як всередині, так і ззовні функції.

1234567
age = 20 def birthday_greet(): print(f"Happy B-Day! You are {age}! (local message)") birthday_greet() print("Global message", age)
copy

Клікніть на кнопку під кодом, щоб перевірити рішення.

Досить просто, ми можемо використовувати глобальні змінні у глобальній та локальній (всередині функції) областях видимості.

Тепер продовжимо вдосконалювати нашу функцію birthday_greet(). Якщо у людини день народження, нам потрібно збільшити її вік на 1.

Ми не можемо змінити глобальну змінну всередині функції, тому спробуємо передати глобальну змінну age як аргумент:

12345678
age = 20 def birthday_greet(age): age += 1 print(f"Happy B-Day! You are {age}! (local message)") birthday_greet(age) print("Global message", age)
copy

Клікніть на кнопку під кодом, щоб перевірити рішення.

У цьому випадку глобальна змінна залишається незмінною, а ми працюємо з локальною змінною на ім'я age.

Наступний приклад показує, що ми можемо змінювати глобальну змінну у локальній області видимості за допомогою ключового слова <strong class="go98639658">global</strong>.

12345678910
age = 20 def birthday_greet(): global age # Added 'global' keyword age += 1 print(f"Happy B-Day! You are {age}! (local message)") birthday_greet() print("Global message", age)
copy

Клікніть на кнопку під кодом, щоб перевірити рішення.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 1
some-alt