Курс 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. Создание новых функций с помощью functools.partial
  2. Виртуальные среды в Python
  3. Участие в LP стейкинге Waves
  4. Генерация QR-кодов с библиотекой qrcode
  5. Объединение коллекций в Python
  6. Использование эмодзи в Python
  7. Возведение в квадрат с помощью itertools
  8. Работа с NumPy массивами
  9. Использование функции enumerate()
  10. Операторы присваивания в Python
  11. Отправка HTTP-запросов в Python
  12. Декораторы в Python
  13. Запуск Python из интерпретатора
  14. Переворот последовательности
  15. Метод Enumerate() для списков
  16. Сравнение неупорядоченных списков
  17. Преобразование чисел в восьмеричную строку
  18. Скрытие вывода данных
  19. Переопределение метода __rshift__
  20. Замена переменных в Python
  21. Декоратор total_ordering для класса Point
  22. Запуск внешнего кода в Jupyter
  23. Область видимости переменных
  24. Работа со словарями в Python
  25. Добавление цвета в консоли
  26. Поиск индекса элемента в списке
  27. Нан-рефлексивность в Python
  28. Combobox в Tkinter
  29. Объединение, распаковка и деструктуризация
  30. Установка Home Assistant
  31. Фильтрация входных данных в Python
  32. Расширение информации об ошибке в Python
  33. Получение обратного списка чисел
  34. Обрезка изображения с Pillow
  35. Оптимизация памяти с __slots__
  36. Управление импортом в Python
  37. Область видимости переменных
  38. Работа с deque в Python
  39. Проверка списка: any() и all()
  40. Создание словаря через dict comprehension
  41. Умножение строк и списков
  42. Параллельные вычисления в Python
  43. Отладка утечек памяти в Python
  44. Синхронизация потоков с time.sleep()
  45. Импорт модулей в Python 3.12

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