Курс 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 3.x
  2. Получение ID текущего процесса
  3. Метод radd для пользовательских чисел
  4. Цикл for в Python
  5. Удаление элементов из списка в Python
  6. Работа с файлами в Python
  7. Библиотека itertools: объединение списков
  8. Использование type hints
  9. Отладка в командной строке
  10. Форматирование строк с помощью f-строк
  11. Функция reversed() в Python
  12. Тестирование с unittest
  13. split() — разделение строки
  14. Преобразование списка в словарь через генератор
  15. Оператор обр. импликации
  16. Оператор «or» в Python
  17. Работа с timedelta
  18. Основы слова
  19. Многоточие в Python
  20. Работа с эмодзи в Python
  21. Combobox в Tkinter
  22. Перебор элементов списка в Python
  23. Настройка Cron
  24. Генерация случайных чисел в Python
  25. Создание циклической ссылки
  26. Группировка элементов в словарь
  27. Генератор данных в Keras
  28. Создание класса очереди
  29. Транспонирование 2D-массива с помощью zip
  30. Управление контекстом с помощью декоратора contextmanager
  31. Лимиты на ресурсы Python
  32. Перевод эмодзи и эмотиконов.
  33. Расчет времени выполнения
  34. Группы исключений в Python
  35. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  36. Python defaultdict добавление ключа
  37. Создание задания в Cron
  38. Блок else в циклах Python
  39. Вложенные функции в Python
  40. Показ всплывающих окон Tkinter
  41. Создание OrderedDict
  42. Метод Event.wait() в Python
  43. Работа с JSON данными в Python
  44. Модуль sys: основы
  45. Обмен значений переменных в Python
  46. %pinfo: получение информации об объекте

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