Курс 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. Декораторы в Python
  2. Регистрация на хакатоне
  3. Метод join() для объединения элементов строки
  4. Многострочные комментарии в Python
  5. Лямбда-функции в Python
  6. Работа с YAML в Python: PyYAML.
  7. Поиск наиболее частого элемента в списке
  8. Объединение списков в Python
  9. Преобразование строк в числа в Python
  10. Преобразование многоуровневого словаря
  11. Логирование с Logzero: ротация файла
  12. Загрузка постов Instagram
  13. Создание namedtuple списком полей
  14. Настройка логгера Logzero
  15. Проверка строки на палиндром
  16. Частичное совпадение ввода
  17. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  18. Объединение списков в Python
  19. Поиск email
  20. Enum в Python
  21. Удаление и повторная вставка ключа в OrderedDict
  22. capitalize() — изменение регистра первого символа строки
  23. Метод split() в Python
  24. Подчеркивание в REPL
  25. Лямбда-функции в Python
  26. Инверсия списка и строки в Python
  27. Импорт объектов из модулей
  28. Работа с timedelta в Python
  29. Создание и инициализация объектов
  30. Python enumerate() использование
  31. Генераторы в Python
  32. Измерение времени выполнения кода
  33. Логирование с Logzero
  34. Игра «Виселица» на Python
  35. Создание списков в Python
  36. Оператор continue в Python
  37. Методы работы со списками
  38. Избегание изменяемых аргументов
  39. Применение функции map() в Python
  40. Курсы Яндекс Практикум
  41. Проверка ввода с помощью isdigit
  42. Создание лямбда-функций
  43. Освоение Python
  44. Деление в Python
  45. Разделение строки в Python
  46. Обязательные аргументы в Python

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