Курс 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. Управление виртуальными окружениями в Python
  2. Библиотека Rich: форматирование текста
  3. Логирование в Python
  4. Возврат нескольких значений
  5. Вывод баннеров
  6. Названия переменных
  7. Функции в Python
  8. Метод rrshift для пользовательских объектов
  9. Строковое представление объектов
  10. Построение графиков в Matplotlib
  11. Создание Telegram-бота на Python
  12. Методы в Python
  13. Модуль Antigravity в Python 3
  14. Функция reversed() в Python
  15. Эффективная конкатенация строк с использованием join()
  16. Работа с OpenCV
  17. F-строки в Python
  18. Ограничение ресурсов в Python
  19. Отладка утечек памяти в Python
  20. Взаимодействие с внешними процессами в Python
  21. Генерация тестовых данных с factory_boy
  22. Поиск наиболее частого элемента списке
  23. Оператор «not» в Python
  24. Обрезка изображения с Pillow
  25. Метод lt для сортировки объектов
  26. Поиск частых элементов в списке
  27. Переопределение унарных операторов
  28. Метод __int__ в Python
  29. Обмен данными с asyncio.Queue
  30. Оператор in для Python
  31. Форматирование строк с помощью f-строк
  32. Метод invert для побитового отрицания
  33. Обработка исключений в Python
  34. Удаление элемента из списка
  35. Списковое включение в Python
  36. Генерация случайных чисел в Python
  37. Класс Counter() для подсчета элементов
  38. Анализ текста на русском языке с помощью Pymystem3
  39. Статическая типизация в Python
  40. Python: Фильтрация списков с помощью filter()
  41. Управление пакетами с pip
  42. Инициализация объекта
  43. Переопределение метода divmod
  44. Динамическая типизация в Python
  45. Переименование файлов в Python
  46. kwargs в Python
  47. Перевод эмодзи и эмотиконов.
  48. Разделение строки с помощью split()

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