Курс 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
- Ветвление выражения в Python
- Работа с комбинациями в Python.
- Пересечение списков с использованием множеств
- Функция zip() в Python
- Оформление кода на Python
- Поиск наиболее частого элемента в списке
- Метод rename() для переименования файлов и каталогов
- Создание спинбокса в tkinter
- Склеивание строк через метод join()
- Метод init в Python
- Функции-генераторы в Python
- Измерение времени выполнения кода
- Векторизация в Python с NumPy.
- Создание и инициализация объектов
- Комментарии в Python
- Использование подчеркивания в REPL
- Мониторинг работы программы Py-spy
- Именование столбцов в Python с pandas
- Методы и функции в Python
- Перевод эмодзи и эмотиконов.
- Определение объема памяти объекта
- Работа с изображениями PIL
- Метод __ilshift__ для битового сдвига влево
- Измерение времени выполнения кода с использованием time
- Ключевое слово global в Python
- Измерение времени выполнения кода
- Группы исключений в Python
- Удаление дубликатов из списка
- Вакансии в Nebius
- Функция с **kwargs в Python
- Скрытие вывода данных
- Исправление ошибки NameError
- Метод is_absolute() для PurePath
- Преобразование многоуровневого словаря
- Возврат значений из генератора
- Работа с deque в Python
- Шаблоны и наследование в Flask
- Открытие и запись файлов
- Управление IP-адресами через прокси
- Конкатенация строк с join() в Python
- Глубокое копирование объектов
- Python union() функция — объединение множеств
- Генераторы в Python















