Курс 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. Асинхронное выполнение задач в Python
  3. Объединение списков в строку
  4. Методы и функции в Python
  5. Оператор in для Python
  6. Создание списка через итерацию
  7. Декораторы для регистрации функций
  8. Получение идентификатора объекта в памяти
  9. Тестирование с responses
  10. Python: библиотеки и функции
  11. Поиск элементов BeautifulSoup
  12. Лямбда-функции в Python
  13. Глубокое копирование объектов
  14. Операторы объединения в Python 3.9
  15. Поиск индекса элемента
  16. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  17. Управление мышью и клавиатурой с Pyautogui
  18. Функция zip() для объединения списков
  19. Создание новых функций с помощью functools.partial
  20. Проверка подстроки в строке
  21. Сортировка элементов в Python
  22. Работа с модулем random
  23. Преобразование чисел в восьмеричную строку
  24. Переменная Шредингера
  25. Оператор деления для класса Rational
  26. Изменение элемента списка
  27. Логирование в Python
  28. Метод __complex__ в Python
  29. Возврат значений из генератора
  30. Генераторы данных
  31. Python enumerate() функции
  32. Обработка исключения UnboundLocalError
  33. Создание списков в Python
  34. Генерация UUID в Python
  35. Использование модуля __future__
  36. Управление контекстом выполнения
  37. Модуль future Python
  38. Работа с Event() в threading
  39. Работа с CSV файлами в Python
  40. Утечки переменных цикла в Python 3.x
  41. Тестирование модели в PyTorch
  42. Обмен переменными в Jupyter
  43. Оформление кода на Python
  44. Освоение Python
  45. Создание вложенных циклов for
  46. Установка виртуального окружения Python
  47. Объединение словарей в Python
  48. Визуализация пропусков данных
  49. Анонимные функции в Python

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