Курс Python → Область видимости переменных в Python
В Python переменные могут иметь область видимости, в которой они доступны для использования. В случае исчезающей переменной из внешней области видимости, переменная может быть удалена из-за выполнения определенного условия или блока кода. Например, если переменная была определена внутри функции и была удалена после выполнения этой функции, она не будет доступна во внешней области видимости.
В предоставленном примере переменная ‘e’ была удалена из-за выполнения блока except. Это связано с тем, что в Python все переменные в блоке кода имеют область видимости в этом блоке. Поэтому после выполнения блока except переменная ‘e’ больше не доступна во внешней области видимости.
Однако, стоит отметить, что данное поведение не распространяется на функции. Функции имеют свои собственные области видимости, поэтому переменные, определенные внутри функции, остаются доступными только внутри этой функции. Это позволяет избежать конфликтов и переопределения переменных в различных частях кода.
В Python 2.x, как упомянуто в инструкции, переменная ‘e’ присваивается экземпляру Exception(). При попытке печати этой переменной ничего не выводится, так как объект Exception() не имеет стандартного метода вывода. Для того чтобы убедиться, что переменная ‘e’ действительно существует и имеет значение, можно использовать функцию print() или другие методы вывода значений переменных.
# Пример кода:
try:
x = 1 / 0
except ZeroDivisionError as e:
print("Ошибка деления на ноль:", e)
print(e) # Вызовет ошибку, так как переменная 'e' удалена после выполнения блока except
Другие уроки курса "Python"
- Метод округления чисел
- Python: отличительная особенность — отступы
- Лямбда-функции в Python
- Python: динамическая типизация и проверка типов
- Тайное преобразование типа ключа
- Просмотр внешних файлов в %pycat
- Работа с контекстным менеджером Pool
- Обход словаря в Python
- Деление в Python
- Поиск наиболее частого элемента списке
- Создание обратного итератора
- Импорт модулей в Python 3.12
- Преобразование данных в Python
- ChainMap.new_child() — добавление нового словаря
- Проверка элемента в множестве.
- Модуль sys: основы
- Применение функции к элементам списка
- Применение функции map() с лямбда-функциями
- Возвращение нескольких значений через кортеж или класс
- Цикл while в Python
- Обработка аргументов Python
- Модуль xkcd: загрузка комиксов
- Переопределение метода len
- Работа с пользовательским вводом
- Генераторы в Python
- Progress с библиотекой tqdm
- Игра Виселица на Python
- Просмотр файла в Jupyter Noteboo
- Mad Libs Generator
- Имена объектов в Python
- Модуль functools в Python
- Сортировка HTML по CSS-селектору
- Фильтрация списков с itertools
- Декораторы в Python
- Работа с модулем os в Python
- Дизассемблирование Python кода
- Использование super() в Python
- Извлечение данных из JSON
- Метод clear для коллекций
- Форматирование строк в Python
- Переменные класса и экземпляра
- Сглаживание списка
- Работа со словарями Python
- Преобразование текста в нижний регистр
- Функция с **kwargs в Python
- Фильтрация последовательности
- Реверс строки и списка в Python.
- Функции в одну строку
- PEP-401: оператор















