Курс 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. Сравнение def и lambda функций в Python
  2. Работа с PosixPath() в Python
  3. Абстракции словарей и множеств в Python
  4. Перетасовка списков в Python
  5. Операторы объединения в Python 3.9
  6. Тестирование с unittest
  7. Генераторные функции в Python
  8. Получение текущей даты в Python
  9. Генерация QR-кодов с библиотекой qrcode
  10. Подсказки типов в Python
  11. Обмен данными с asyncio.Queue
  12. Блок try…finally в Python
  13. Округление банкира в Python
  14. Пропуск начальных строк с помощью dropwhile()
  15. Python Метод sleep() времени
  16. Обработка исключений в Python
  17. Функция enumerate в Python
  18. Запрос DELETE с библиотекой requests
  19. Сортировка в Python
  20. Логирование с Logzero
  21. Оптимизация памяти в Python
  22. Декораторы для регистрации функций
  23. Логические значения в Python
  24. Управление мышью и клавиатурой с Pyautogui
  25. Приоритет операций в Python
  26. Управление сессиями в Python
  27. Списковое включение в Python
  28. Вложенные циклы в Python
  29. Улучшенные подсказки для импорта в Python 3.12
  30. Python и Юникод: работа с цифрами
  31. Руководство по использованию Colorama
  32. Изменение IP-адреса в Python
  33. Генерация случайных чисел Python
  34. Проверка дублей в списке.
  35. Удаление ресурса в Python
  36. Проверка запуска скрипта или импорта модуля
  37. Форматирование строк с помощью f-строк
  38. Метод __ilshift__ для битового сдвига влево
  39. Синхронизация доступа к ресурсам
  40. Конкатенация строк в Python
  41. Освобождение памяти в Python
  42. Python enumerate() функции
  43. Работа с срезами в Python
  44. Комментарии в Python
  45. Применение функции к списку
  46. Разность множеств
  47. Создание словарей с defaultdict
  48. Структура строк в Python

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