Курс 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. Получение ID процесса
  3. Обязательные аргументы в Python
  4. Вывод сложных структур данных с помощью pprint
  5. Область видимости переменных
  6. Генерация случайных чисел в Python
  7. Переопределение метода __pow__
  8. Создание вложенного генератора
  9. Слияние словарей в Python 3.9
  10. Ускоренный импорт библиотек
  11. Сравнение строк в Python
  12. Условные выражения в Python
  13. Генератор бросков кубиков
  14. Выключение компьютера с помощью Python
  15. Профилирование кода
  16. Расчет времени выполнения
  17. Зарезервированные слова в Python
  18. Метод count() для списка
  19. Избегайте использования goto
  20. Замена элементов в списке с помощью генераторов списков
  21. Статическая типизация в Python
  22. Python Метод sleep() времени
  23. Magic Commands — улучшение работы с Python
  24. Определение индекса элемента списка
  25. Методы HTTP запросов в Flask
  26. Объединение списков в Python
  27. Фильтрация списка чисел
  28. Переопределение метода len
  29. Проблема сравнения словарей
  30. Проверка типа данных
  31. Работа с кортежами в Python
  32. Объединение, распаковка и деструктуризация
  33. Работа с парами ключ-значение
  34. Списки в Python: синтаксис представления
  35. Определение локальных переменных в Python
  36. globals и locals
  37. Сортировка в Python
  38. Инверсия списка и строки
  39. Python: динамическая типизация и проверка типов
  40. Использование html-скриптов в Jupyter Notebook
  41. Работа с индексами списков
  42. Подсказки при вводе данных в Python
  43. Оформление текста в консоли с TermColor

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