Курс 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
- Создание тестовых данных с Faker
- Логирование с Loguru
- Декоратор Property в Python
- Аннотации типов в Python
- Работа с изменяемыми коллекциями
- Сравнение def и lambda функций в Python
- Работа с комплексными числами
- Инверсия списков и строк в Python
- Форматирование даты с strftime()
- Принцип одной функции
- Реверс строки и списка в Python.
- Сравнение объектов в Python
- Оператор объединения словарей
- Форматирование строк в Python
- Многострочные комментарии в Python
- Создание уникального проекта
- Счетчик ссылок в Python
- Методы __repr__ и __str__ в Python
- Проверка версии Python
- Работа с исключениями в Python
- Атрибуты класса и экземпляра
- Отправка HTTP-запросов с User-Agent
- Декораторы в Python
- Python defaultdict добавление ключа
- Объединение словарей в Python
- Метод split() для разделения строк
- Декоратор total_ordering для класса Point
- Оператор Walrus: правильное использование
- Хранение данных
- Логирование с Logzero
- Печать списка с помощью метода join
- Вложенные генераторы в Python
- Получение комбинаций в Python
- Конкатенация строк в Python
- Создание коллекций из генератора
- Хранение переменных в Python.
- Срезы в Python
- Явный импорт переменных
- Группировка элементов Python
- Профилирование с cProfile
- Форматирование вывода с F-строками
- Импортирование в Python
- Модуль subprocess: запуск внешних команд
- Создание и инициализация объектов
- Игра «Угадывание чисел»
- Многострочные комментарии в Python















