Курс 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. Пространство имен в Python
  3. Ветвление выражения в Python
  4. Работа с комбинациями в Python.
  5. Пересечение списков с использованием множеств
  6. Функция zip() в Python
  7. Оформление кода на Python
  8. Поиск наиболее частого элемента в списке
  9. Метод rename() для переименования файлов и каталогов
  10. Создание спинбокса в tkinter
  11. Склеивание строк через метод join()
  12. Метод init в Python
  13. Функции-генераторы в Python
  14. Измерение времени выполнения кода
  15. Векторизация в Python с NumPy.
  16. Создание и инициализация объектов
  17. Комментарии в Python
  18. Использование подчеркивания в REPL
  19. Мониторинг работы программы Py-spy
  20. Именование столбцов в Python с pandas
  21. Методы и функции в Python
  22. Перевод эмодзи и эмотиконов.
  23. Определение объема памяти объекта
  24. Работа с изображениями PIL
  25. Метод __ilshift__ для битового сдвига влево
  26. Измерение времени выполнения кода с использованием time
  27. Ключевое слово global в Python
  28. Измерение времени выполнения кода
  29. Группы исключений в Python
  30. Удаление дубликатов из списка
  31. Вакансии в Nebius
  32. Функция с **kwargs в Python
  33. Скрытие вывода данных
  34. Исправление ошибки NameError
  35. Метод is_absolute() для PurePath
  36. Преобразование многоуровневого словаря
  37. Возврат значений из генератора
  38. Работа с deque в Python
  39. Шаблоны и наследование в Flask
  40. Открытие и запись файлов
  41. Управление IP-адресами через прокси
  42. Конкатенация строк с join() в Python
  43. Глубокое копирование объектов
  44. Python union() функция — объединение множеств
  45. Генераторы в Python

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