Курс Python → Область видимости переменных
Когда вы работаете с переменными в Python, важно понимать, что область видимости переменной определяет доступность этой переменной в различных частях кода. Если переменная не была инициализирована в текущей области видимости, Python будет искать ее во внешних областях.
В случае, когда переменная была присвоена значение внутри функции, она становится локальной для этой функции. Это означает, что переменная будет доступна только внутри этой функции и не будет видна за ее пределами. Если попытаться обратиться к этой переменной вне функции, Python выдаст ошибку о неопределенной переменной.
def another_func():
a = 10
print(a)
another_func()
print(a) # Ошибка: имя 'a' не определено
В приведенном выше примере переменная ‘a’ была инициализирована внутри функции ‘another_func’, что делает ее локальной для этой функции. При попытке обратиться к переменной ‘a’ за пределами функции, Python не сможет найти эту переменную в глобальной области видимости и выдаст ошибку.
Чтобы избежать ошибок с переменными вне области видимости, необходимо либо объявить переменную глобальной с помощью ключевого слова ‘global’, либо вернуть значение переменной из функции и присвоить его другой переменной в глобальной области видимости.
Другие уроки курса "Python"
- Отправка POST-запроса в REST API
- Преобразование символов в нижний регистр
- Big O оптимизация
- Деление в Python
- Модуль Operator в Python
- Подсчет элементов с помощью Counter
- Преобразование регистра символов
- Метод join() для объединения строк
- Список переменных в Python
- Избегание циклических зависимостей классов в Python
- Разработка игры Pong с turtle
- Инверсия списка и строки в Python
- Транспонирование матрицы
- Работа с модулем bisect
- Замена переменных в Python
- Склеивание строк без циклов
- Создание списков в Python
- Освобождение памяти в Python
- Удаление символа из строки
- Декоратор для группы пользователей в Django
- Аннотации типов в Python
- Переопределение метода delitem в Python
- Объединение списков с помощью zip
- Работа со строками
- Транспонирование 2D-массива с помощью zip
- Работа с NumPy
- Лямбда-функции в Python
- capitalize() — изменение регистра первого символа строки
- Изменяемые и неизменяемые объекты
- Создание генераторов
- Переопределение метода __eq__
- Исправление ошибки NameError
- Python UserString — создание подклассов строк
- Python Метод sleep() времени
- Нан-рефлексивность в Python
- Переопределение метода __floordiv__
- Подсчет элементов в Python
- Создание спинбокса в tkinter
- Работа с индексами списков
- Лямбда-функции в цикле
- Запуск внешних программ с subprocess
- Делегирование в Python
- Получение значений из словарей
- Модуль array: создание и использование массивов















