Глава 13 · Автоматизация с помощью функций
Глобальные и локальные переменные
Где «живёт» переменная и кто может её увидеть — важное правило, которое избавит от многих загадочных ошибок.
Переменные внутри функций
Переменная, созданная внутри функции, называется локальной — она существует только пока функция выполняется и недоступна снаружи:
lokalnye_peremennye.py
def moya_funkciya():
message = "Я живу только внутри функции"
print(message)
moya_funkciya()
print(message) # NameError: message не определена здесь
Возвращаем локальные переменные
Чтобы значение, вычисленное внутри функции, стало доступно снаружи, его нужно вернуть
через return — это единственный «официальный» способ передать
что-то из функции наружу.
Глобальные переменные
Глобальная переменная объявлена вне всех функций — и доступна для чтения внутри любой из них:
globalnye_peremennye.py
ver = "1.0" # глобальная переменная
def pokazat_versiyu():
print(f"Версия программы: {ver}") # чтение глобальной переменной — работает
pokazat_versiyu()
Изменить глобальную переменную изнутри функции — не так просто
Присваивание
ver = "2.0" внутри функции создаст новую локальную переменную ver, а не изменит глобальную. Для настоящего изменения нужно ключевое слово global — но в реальном коде такое встречается редко: гораздо чище вернуть новое значение через return.Практика в Jupyter Notebook
13-05-oblast-vidimosti.ipynb · локальные и глобальные переменные