Книга: Введение в Python
Область видимости
Область видимости
Некоторые переменные скрипта могут быть недоступны некоторым областям программы. Все зависит от того, где вы объявили эти переменные.
В Python две базовых области видимости переменных:
* Глобальные переменные
* Локальные переменные
Переменные объявленные внутри тела функции имеют локальную область видимости, те что объявлены вне какой-либо функции имеют глобальную область видимости.
Это означает, что доступ к локальным переменным имеют только те функции, в которых они были объявлены, в то время как доступ к глобальным переменным можно получить по всей программе в любой функции.
Например:
| # глобальная переменная age
| age = 44
| def info():
| print age # Печатаем глобальную переменную age
|
| def local_info():
| age = 22 # создаем локальную переменную age
| print age
|
| info() # напечатает 44
| local_info() # напечатает 22
Важно помнить, что для того чтобы получить доступ к глобальной переменной, достаточно лишь указать ее имя. Однако, если перед нами стоит задача изменить глобальную переменную внутри функции - необходимо использовать ключевое слово global.
Например:
| # глобальная переменная age
| age = 13
|
| # функция изменяющая глобальную переменную
| def get_older():
| global age
| age += 1
| print age # напечатает 13
| get_older() # увеличиваем age на 1
| print age # напечатает 14
- 20.2.1. Атрибуты cookie: срок хранения и область видимости
- 11.7.7 Область для разработчиков
- Параметры и область видимости
- A11.1. Лексическая область видимости
- 9.9.2. Область видимости функции как частное пространство имен
- this и его область видимости
- 3.10. Область видимости переменной
- 3.10.1. Область видимости функции и подъем
- 17.3.3. Область видимости обработчика событий
- 20.1.1. Срок хранения и область видимости
- 22.4.2. Область видимости фонового потока
- Пример 19-1. Область видимости переменных