Курс 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"

  1. Генераторы по генератору
  2. Блок else в Python
  3. Генераторы в Python
  4. Распаковка с оператором *
  5. Декораторы с аргументами
  6. Создание новой даты в Python
  7. Классы данных в Python
  8. Асинхронное программирование с asyncio
  9. Кортеж в Python: создание, доступ, изменение
  10. Форматирование даты с strftime()
  11. Генерация ключей RSA
  12. Модуль antigravity: генерация координат
  13. Преобразование в float
  14. Функция sleep() в Python
  15. Нахождение отличий в списках
  16. Активация Matplotlib в Jupyter
  17. Именованные срезы в Python
  18. Работа с PosixPath() в Python
  19. Виртуальные среды в Python
  20. Структура строк в Python
  21. Фильтрация входных данных в Python
  22. Проверка класса объекта
  23. Декодирование байтов в строку
  24. Удаление URL-адресов в Python
  25. Определение локальных переменных в Python
  26. Регистрация на TenChat
  27. Множественное присваивание в Python
  28. Метод __imod__ для Python
  29. Работа с кортежами
  30. Работа с Path в Python
  31. Проверка версии Python
  32. Строки в Python: апострофы и кавычки
  33. Переопределение метода delitem в Python
  34. Работа с f-строками 2.0
  35. Декоратор Property в Python
  36. Работа с IP-адресами в Python
  37. Таймер обратного отсчета
  38. Определение основы слова с showballstemmer
  39. Логические операторы в Python
  40. Возврат нескольких значений из функции
  41. Строковое представление объектов
  42. Управление виртуальными средами в Python
  43. Проверка типа объекта в Python
  44. Работа с множествами в Python
  45. Поиск повторов в списке

Marketello читают маркетологи из крутых компаний