我正在学习Python并遇到问题。这完全是关于定义功能。也许我不理解返回功能......
def adding(x, y):
tuple1 = ()
ans = x + y
tuple1 = tuple1 + (ans,)
return tuple1
adding(3, 2)
tuple1
当我在Python中运行时,它继续adding(3, 2)
,但不会显示tuple1
(即使我打印它...),它说{{1} }没有定义,为什么?我认为return将返回计算出的对象并将其存储在内存中。
答案 0 :(得分:5)
tuple1
是adding()
函数中的本地名称。您需要将函数的返回值存储在 new 名称中:
return_value = adding(3, 2)
现在,您可以使用return_value
查看从adding()
返回的对象。
您甚至可以tuple1
代替return_value
,但它只会看与adding()
中使用的名称相同。在函数外部,名称是不同范围的一部分,并且与函数内部使用的本地名称无关(尽管函数中的名称可以引用与模块相同的内容) ,或全球范围)。