Курс 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. Генерация строк с .join()
  2. Структуры данных в Python
  3. Метод rlshift для битового сдвига
  4. Вывод символов строки в Python
  5. Создание класса очереди
  6. Удаление элемента из списка
  7. Работа с атрибутом dict
  8. Срез в Python
  9. Пустой оператор pass в Python
  10. Копирование файлов с shutil()
  11. Подсчет элементов с помощью Counter из collections
  12. inspect в Python: анализ кода
  13. Генерация случайных чисел в Python
  14. Добавление элементов в список: append() vs extend()
  15. Модуль pprint: улучшение вывода данных
  16. Применение функции к каждому элементу списка
  17. Область видимости переменных
  18. Отслеживание прогресса с tqdm
  19. Импорт объектов из модулей
  20. Оператор Walrus в Python 3.8
  21. Профилирование кода на Python
  22. Аннотации типов в Python
  23. Python: Splat-оператор и splatty-splat
  24. Проверка файла .py на синтаксис.
  25. Многопроцессорное программирование в Python
  26. Генерация фальшивых данных с Faker
  27. Справка по импортированным модулям
  28. Установка максимального количества цифр
  29. Проекты на Python
  30. Разделение строк в Python
  31. Наиболее частотные элементы с помощью Counter
  32. Сериализация и десериализация объектов
  33. Генераторы словарей и множеств
  34. Установка User-Agent в Python
  35. Выборка чисел
  36. Python-dateutil — работа с датами
  37. Названия столбцов в Python таблицах
  38. Измерение времени выполнения кода
  39. Настройка нарезки списков
  40. Преобразование вложенного списка
  41. Лямбда-функции в Python
  42. Идентификатор объекта в Python
  43. Декораторы в Python
  44. lru_cache оптимизация функций

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