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

Когда вы работаете с переменными в Python, важно понимать, что область видимости переменной определяет доступность этой переменной в различных частях кода. Если переменная не была инициализирована в текущей области видимости, Python будет искать ее во внешних областях.

В случае, когда переменная была присвоена значение внутри функции, она становится локальной для этой функции. Это означает, что переменная будет доступна только внутри этой функции и не будет видна за ее пределами. Если попытаться обратиться к этой переменной вне функции, Python выдаст ошибку о неопределенной переменной.


def another_func():
    a = 10
    print(a)

another_func()
print(a) # Ошибка: имя 'a' не определено

В приведенном выше примере переменная ‘a’ была инициализирована внутри функции ‘another_func’, что делает ее локальной для этой функции. При попытке обратиться к переменной ‘a’ за пределами функции, Python не сможет найти эту переменную в глобальной области видимости и выдаст ошибку.

Чтобы избежать ошибок с переменными вне области видимости, необходимо либо объявить переменную глобальной с помощью ключевого слова ‘global’, либо вернуть значение переменной из функции и присвоить его другой переменной в глобальной области видимости.

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

Автор урока

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

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

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

  1. Отправка POST-запроса в REST API
  2. Преобразование символов в нижний регистр
  3. Big O оптимизация
  4. Деление в Python
  5. Модуль Operator в Python
  6. Подсчет элементов с помощью Counter
  7. Преобразование регистра символов
  8. Метод join() для объединения строк
  9. Список переменных в Python
  10. Избегание циклических зависимостей классов в Python
  11. Разработка игры Pong с turtle
  12. Инверсия списка и строки в Python
  13. Транспонирование матрицы
  14. Работа с модулем bisect
  15. Замена переменных в Python
  16. Склеивание строк без циклов
  17. Создание списков в Python
  18. Освобождение памяти в Python
  19. Удаление символа из строки
  20. Декоратор для группы пользователей в Django
  21. Аннотации типов в Python
  22. Переопределение метода delitem в Python
  23. Объединение списков с помощью zip
  24. Работа со строками
  25. Транспонирование 2D-массива с помощью zip
  26. Работа с NumPy
  27. Лямбда-функции в Python
  28. capitalize() — изменение регистра первого символа строки
  29. Изменяемые и неизменяемые объекты
  30. Создание генераторов
  31. Переопределение метода __eq__
  32. Исправление ошибки NameError
  33. Python UserString — создание подклассов строк
  34. Python Метод sleep() времени
  35. Нан-рефлексивность в Python
  36. Переопределение метода __floordiv__
  37. Подсчет элементов в Python
  38. Создание спинбокса в tkinter
  39. Работа с индексами списков
  40. Лямбда-функции в цикле
  41. Запуск внешних программ с subprocess
  42. Делегирование в Python
  43. Получение значений из словарей
  44. Модуль array: создание и использование массивов

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