Курс 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. Работа с YAML в Python
  3. Метод __iand__ для пользовательских классов
  4. Генератор бросков кубиков
  5. Оптимизация памяти с помощью __slots__
  6. Оператор in для Python
  7. Работа с WindowsPath()
  8. Работа с итераторами через срезы
  9. Метод init в Python
  10. Defaultdict в Python
  11. Поиск кода
  12. Lambda-функция в Python: использование с map() и sum()
  13. Принципы SRP и OCP
  14. Метод Event.wait() в Python
  15. Список импортированных модулей в Python
  16. Экранирование символов в Python
  17. UserList в Python: Описание и примеры использования
  18. 9 уловок для чистого кода
  19. Именованные срезы в Python
  20. Обработка аргументов Python
  21. Добавление элементов в список: append() vs extend()
  22. Обмен переменными в Jupyter
  23. Проверка на палиндром
  24. Combobox в Tkinter
  25. Установка переменной среды в Python
  26. Удаление ключей из словаря
  27. Оператор zip в Python
  28. Отрицательные индексы списков
  29. Сглаживание списка
  30. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  31. Эффективная конкатенация строк с использованием join()
  32. Python OrderedDict и fromkeys() — работа с словарями
  33. Установка и использование Logzero
  34. Управление импортом в Python
  35. Раздувающийся словарь в Python
  36. Копирование объектов в Python
  37. Работа с исключениями в Python
  38. Подписка на Kaspersky Team
  39. Python: Фильтрация списков с помощью filter()
  40. Нахождение отличий в списках
  41. Подсказки типов в Python
  42. Метод ior для битовых операций
  43. Логирование с Logzero
  44. Модуль antigravity: генерация координат
  45. Удаление и повторная вставка ключа в OrderedDict
  46. Генераторы в Python
  47. Генераторы словарей и множеств
  48. Умножение строк и списков

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