Курс 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. Получение ID процесса
  2. Разделение строк в Python
  3. Функция reduce() в Python
  4. Python: отсутствие точек с запятыми
  5. Оптимизация памяти с __slots__
  6. Генерация случайных чисел в Python
  7. JMESPath в Python
  8. Установка и использование Logzero
  9. Создание детектора плагиата
  10. Работа со строками в Python
  11. Профилирование кода на Python
  12. Проверка типа объекта в Python
  13. Непрерывная проверка в Python
  14. Работа с геоданными с помощью geopy
  15. Нахождение пересечения множеств
  16. Оператор in для проверки наличия элемента
  17. Создание новых списков
  18. Многострочные комментарии в Python
  19. Множественное присваивание в Python
  20. Создание виртуальной среды
  21. Обработка данных в Python
  22. Работа с PosixPath() в Python
  23. Управление контекстом с помощью декоратора contextmanager
  24. Проверка версии Python
  25. Работа с аргументами командной строки в Python
  26. Python и Юникод: работа с цифрами
  27. Поиск самого частого элемента
  28. Преобразование Word в PDF с Spire.Doc
  29. Передача аргументов в Python
  30. Удаление элементов из списка в Python
  31. Разделение строк в Python
  32. Генераторы в Python
  33. Работа с многоуровневыми словарями в Python
  34. Именованные срезы в Python
  35. Установка пакетов с помощью pip
  36. Методы list в Python
  37. Работа с библиотекой xkcd
  38. Работа с типами данных в Python с помощью pydantic.
  39. Оператор += в Python
  40. Списки: объединение, изменение
  41. Манипуляция формой массива в Numpy
  42. Python: возвращение нескольких значений
  43. Управление User-Agent в Python
  44. Python Метод sleep() из time
  45. Контекстный менеджер в Python

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