当您使用另一个函数作为print()函数的参数时会发生什么



我是一个初学者,所以我对print((函数背后的底层过程了解不多,但我对以下内容背后的过程很好奇:

def test():
print("hi")
return "hi"
print(test())

这输出两个";嗨"来自test((函数内print((的消息;嗨"来自return语句。本能地,我只会期待";嗨"来自return语句。

有人能简单地解释一下为什么我们两者都有吗?我想它是这样的:当使用诸如test((之类的函数输出作为print函数的参数时,首先调用test((函数(因此产生第一个"hi"(,然后打印其返回输出(产生第二个"hi(。

我在这里说得对吗?如果能了解这里发生的事情并提高我的理解,我将不胜感激:(

这是一个非常简单的

print(test())

相当于

result = test()
print(result)

第一行调用test函数(在其主体中打印'hi'(,并将名称result分配给返回值,该返回值恰好也是'hi'

第二行打印test返回的值。

最新更新