Курс 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 3.7
- Метод init в Python
- Установка random seed в Python
- Математические функции в Python
- Ветвление выражения в Python
- Именование переменных в Python
- Создание Radio кнопок в tkinter
- Работа с процессами в Python
- Удаление ключей из словаря
- Метод __float__ в Python
- Проверка подстроки в строке с помощью in
- Настройка логгера Logzero
- Форматирование строк с помощью f-строк
- Рациональные числа в Python
- Профилирование кода на Python
- Bootle — простой веб-фреймворк
- Измерение времени выполнения
- Основы слова
- Работа с библиотекой requests
- Работа с файлами в Python
- Вывод букв строки в Python
- Форматирование строк в Python
- Транспонирование 2D-массива с помощью zip
- Python UserString — создание подклассов строк
- Функция zip() — объединение последовательностей
- Функция findall() для поиска вхождений строки
- Работа со словарями Python
- Срезы в Python
- Python groupby() из itertools: работа с повторяющимися элементами
- Реверс строки в Python
- Обработка исключений в Python
- Декораторы в Python
- Создание инструмента обнаружения плагиата
- Удаление дубликатов из списка с помощью dict.fromkeys
- Установка и использование pyshorteners
- Создание пользовательской коллекции в Python
- Символ подчеркивания в Python
- Работа с путями в Python
- Особенности ключей словаря в Python
- Применение функции map() в Python
- Сериализация объектов в Python
- Оптимизация памяти с __slots__
- globals и locals
- Обновление данных через PUT запрос















