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

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

В этом уроке поработаем с функцией generate() и переменными result и age. Также разберем, что такое локальная переменная и как она работает.

Возьмем для примера следующий код:

age = 5

def generate():
    return age + 3

result = generate()

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

Хоть переменная age — это не аргумент функции generate(), ее все равно видно в теле функции. Так происходит, потому что переменную age определили ранее вызова функции, а интерпретатор 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+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

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

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

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

Иконка программы Python-разработчик
Профессия
с нуля
Разработка веб-приложений на Django
2 февраля 10 месяцев
Иконка программы Аналитик данных
Профессия
В разработке с нуля
Сбор, анализ и интерпретация данных
16 марта 8 месяцев

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

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

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

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»