Курс Python → Область видимости переменных

Область видимости переменной в Python определяет, где переменная может быть доступна в вашем коде. В Python есть три уровня области видимости: глобальная, локальная и нелокальная. Глобальная область видимости означает, что переменная доступна в любом месте вашего кода. Локальная область видимости означает, что переменная доступна только внутри определенной функции или метода. Нелокальная область видимости означает, что переменная доступна внутри вложенной функции, но не является локальной для этой функции.

Пример глобальной области видимости:


x = 10

def my_function():
    print(x)

my_function()  # Вывод: 10

Пример локальной области видимости:


def my_function():
    y = 20
    print(y)

my_function()  # Вывод: 20
print(y)  # Ошибка: NameError: name 'y' is not defined

Пример нелокальной области видимости:


def outer_function():
    z = 30
    def inner_function():
        print(z)
    inner_function()

outer_function()  # Вывод: 30

Использование правильной области видимости переменных поможет вам избежать ошибок и сделает ваш код более читаемым и поддерживаемым. Помните, что в Python переменные внутри функций являются локальными по умолчанию, если не указано иное. Также учитывайте, что изменение глобальной переменной внутри функции требует использования ключевого слова global.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа с пользовательским вводом
  2. Импорт модулей и пакетов в Python
  3. Изменение списка срезами
  4. Декораторы в Python
  5. Преобразование в float
  6. Лямбда-функции в Python
  7. Измерение времени выполнения с помощью time
  8. Работа с модулем cmath
  9. Блок else в циклах Python
  10. Форматирование строк с % в Python
  11. Изменение логики работы с временем
  12. Обмен данными с asyncio.Queue
  13. Сравнение def и lambda в Python
  14. Преобразование range в итератор
  15. Модуль antigravity: генерация координат
  16. Переопределение метода __and__
  17. Ограничение итераций в Python
  18. Метод hash в Python
  19. Использование метода lower()
  20. Хеши в Python
  21. Удаление эмодзи с помощью pandas
  22. Работа с NumPy
  23. Работа со слайсами
  24. Протокол управления контекстом
  25. Создание GUI с Tkinter: Entry
  26. Работа с f-строками 2.0
  27. Участие в сообществе @selectel
  28. Импорт модулей в Python 3.12
  29. Методы classmethod и staticmethod
  30. Оператор «or» в Python
  31. Оператор * в Python
  32. Оператор @ для умножения матриц
  33. Константы в модуле cmath
  34. Работа с defaultdictами в Python
  35. Цикл while в Python
  36. Оператор += для объединения строк
  37. Проекты на Python
  38. Операции с датами в Python
  39. Работа с очередями в Python
  40. Печать месячного календаря
  41. Работа с файлами и директориями в Python.
  42. Копирование объектов в Python
  43. Импорт объектов из модулей
  44. Изменение переменной в Python: nonlocal
  45. Условные выражения в Python
  46. Генераторные функции в Python
  47. Удаление элементов из списка
  48. Запуск асинхронной корутины

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