Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Окружение Основы языка Python

Какое значение окажется внутри переменной result после выполнения кода?

age = 5

def generate():
    return age + 3

result = generate()

Правильный ответ: в result будет записано число 8.

Хоть переменная age и не является аргументом функции generate(), она всё равно «видна» в теле функции. Точно так же будут видны и любые другие переменные, если они определены выше вызова функции (т.е. определены ранее, ведь интерпретатор Python читает файл сверху-вниз).

Рассмотрим другой пример:

age = 5

def generate():
    age = 10
    return age + 3

result = generate()

В данном случае результатом будет число 13. Внешнее значение age = 5 никак не влияет на код функции, потому что в теле функции определена «своя версия» переменной age — так называемая локальная переменная. Локальные переменные не видны за пределами функции.

И последний пример:

age = 5

def generate():
    age = 8

generate()

result = age

Ответ: 5.

Локальная переменная, созданная внутри функции generate() никак не влияет на внешнюю переменную age, поэтому после вызова функции значение внешней age не изменилось и осталось 5.


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 130 курсов, 2000+ часов теории
  • 900 практических заданий в браузере
  • 360 000 студентов
Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
7 июля 10 месяцев

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»