#python #return #function
#python #Возврат #функция
Вопрос:
Я изучаю Python, и у меня возникла проблема. Все дело в определении функций. Возможно, я не понимаю возвращаемую функцию…
def adding(x, y):
tuple1 = ()
ans = x y
tuple1 = tuple1 (ans,)
return tuple1
adding(3, 2)
tuple1
Когда я запускаю это в Python, оно выполняет adding(3, 2)
, но не показывает мне tuple1
(даже если я его напечатаю …), оно говорит, что tuple1
это не определено, почему это? Я думал, что return вернет вычисляемый объект и сохранит его в памяти.
Ответ №1:
tuple1
это локальное имя в adding()
функции. Вам нужно сохранить возвращаемое значение функции под новым именем:
return_value = adding(3, 2)
Теперь вы можете использовать return_value
, чтобы увидеть, из какого объекта был возвращен adding()
.
Вы можете даже tuple1
вместо return_value
там, но это будет только выглядеть так же, как имя, используемое в adding()
. Вне функции имена являются частью другой области и не зависят от локальных имен, используемых внутри функций (хотя имена в функциях могут ссылаться на те же вещи, что и модуль, или глобальную область).