Курс Python → Область видимости переменных
Разработчики Python должны помнить, что выражение генератора имеет свою собственную область видимости, что означает, что переменные, объявленные внутри него, не будут доступны за его пределами. Это позволяет избежать конфликтов имен переменных и упрощает отладку кода. Например, если у вас есть выражение генератора внутри функции, то переменные, объявленные в нем, не будут пересекаться с переменными функции.
В Python 3.X также введено понимание списков собственной области видимости. Это означает, что переменные, объявленные внутри списка (например, при использовании list comprehension), будут видны только внутри этого списка и не будут конфликтовать с переменными во внешней области видимости. Это упрощает написание чистого и понятного кода.
Пример кода выражения генератора:
numbers = [1, 2, 3, 4, 5]
squared_numbers = (num ** 2 for num in numbers)
for square in squared_numbers:
print(square)
Пример кода списка собственной области видимости:
numbers = [1, 2, 3, 4, 5]
squared_numbers = [num ** 2 for num in numbers]
print(squared_numbers)
Использование собственной области видимости переменных в выражениях генераторов и списках позволяет писать более чистый и понятный код, избегая конфликтов имен переменных и улучшая структуру программы.
Другие уроки курса "Python"
- Пересечение списков с использованием множеств
- Получение ID процесса
- Обязательные аргументы в Python
- Вывод сложных структур данных с помощью pprint
- Область видимости переменных
- Генерация случайных чисел в Python
- Переопределение метода __pow__
- Создание вложенного генератора
- Слияние словарей в Python 3.9
- Ускоренный импорт библиотек
- Сравнение строк в Python
- Условные выражения в Python
- Генератор бросков кубиков
- Выключение компьютера с помощью Python
- Профилирование кода
- Расчет времени выполнения
- Зарезервированные слова в Python
- Метод count() для списка
- Избегайте использования goto
- Замена элементов в списке с помощью генераторов списков
- Статическая типизация в Python
- Python Метод sleep() времени
- Magic Commands — улучшение работы с Python
- Определение индекса элемента списка
- Методы HTTP запросов в Flask
- Объединение списков в Python
- Фильтрация списка чисел
- Переопределение метода len
- Проблема сравнения словарей
- Проверка типа данных
- Работа с кортежами в Python
- Объединение, распаковка и деструктуризация
- Работа с парами ключ-значение
- Списки в Python: синтаксис представления
- Определение локальных переменных в Python
- globals и locals
- Сортировка в Python
- Инверсия списка и строки
- Python: динамическая типизация и проверка типов
- Использование html-скриптов в Jupyter Notebook
- Работа с индексами списков
- Подсказки при вводе данных в Python
- Оформление текста в консоли с TermColor















