Курс 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"
- Декораторы в Python
- Регистрация на хакатоне
- Метод join() для объединения элементов строки
- Многострочные комментарии в Python
- Лямбда-функции в Python
- Работа с YAML в Python: PyYAML.
- Поиск наиболее частого элемента в списке
- Объединение списков в Python
- Преобразование строк в числа в Python
- Преобразование многоуровневого словаря
- Логирование с Logzero: ротация файла
- Загрузка постов Instagram
- Создание namedtuple списком полей
- Настройка логгера Logzero
- Проверка строки на палиндром
- Частичное совпадение ввода
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Объединение списков в Python
- Поиск email
- Enum в Python
- Удаление и повторная вставка ключа в OrderedDict
- capitalize() — изменение регистра первого символа строки
- Метод split() в Python
- Подчеркивание в REPL
- Лямбда-функции в Python
- Инверсия списка и строки в Python
- Импорт объектов из модулей
- Работа с timedelta в Python
- Создание и инициализация объектов
- Python enumerate() использование
- Генераторы в Python
- Измерение времени выполнения кода
- Логирование с Logzero
- Игра «Виселица» на Python
- Создание списков в Python
- Оператор continue в Python
- Методы работы со списками
- Избегание изменяемых аргументов
- Применение функции map() в Python
- Курсы Яндекс Практикум
- Проверка ввода с помощью isdigit
- Создание лямбда-функций
- Освоение Python
- Деление в Python
- Разделение строки в Python
- Обязательные аргументы в Python















