Курс 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. Создание тестовых данных с Faker
  3. Логирование с Loguru
  4. Декоратор Property в Python
  5. Аннотации типов в Python
  6. Работа с изменяемыми коллекциями
  7. Сравнение def и lambda функций в Python
  8. Работа с комплексными числами
  9. Инверсия списков и строк в Python
  10. Форматирование даты с strftime()
  11. Принцип одной функции
  12. Реверс строки и списка в Python.
  13. Сравнение объектов в Python
  14. Оператор объединения словарей
  15. Форматирование строк в Python
  16. Многострочные комментарии в Python
  17. Создание уникального проекта
  18. Счетчик ссылок в Python
  19. Методы __repr__ и __str__ в Python
  20. Проверка версии Python
  21. Работа с исключениями в Python
  22. Атрибуты класса и экземпляра
  23. Отправка HTTP-запросов с User-Agent
  24. Декораторы в Python
  25. Python defaultdict добавление ключа
  26. Объединение словарей в Python
  27. Метод split() для разделения строк
  28. Декоратор total_ordering для класса Point
  29. Оператор Walrus: правильное использование
  30. Хранение данных
  31. Логирование с Logzero
  32. Печать списка с помощью метода join
  33. Вложенные генераторы в Python
  34. Получение комбинаций в Python
  35. Конкатенация строк в Python
  36. Создание коллекций из генератора
  37. Хранение переменных в Python.
  38. Срезы в Python
  39. Явный импорт переменных
  40. Группировка элементов Python
  41. Профилирование с cProfile
  42. Форматирование вывода с F-строками
  43. Импортирование в Python
  44. Модуль subprocess: запуск внешних команд
  45. Создание и инициализация объектов
  46. Игра «Угадывание чисел»
  47. Многострочные комментарии в Python

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