我不知道为什么下面的代码及其输出是这样出来的。谢谢你的详细解释。
def outer():
print('hi')
print(outer)
outer()
print(outer())
print(print('hi'))<函数外部在0x7f95c25ba160>喜嗨不喜无
发布于 2020-12-16 09:57:04
"None“是一个特殊的Python值,它在没有返回值的情况下保存一个位置。而且,它与布尔值False不一样。所以,你应该这样写;
def outer():
return 'hi'发布于 2020-12-16 09:17:51
如果不将return语句放入Python函数中,则默认返回值为None。您的函数outer只打印并返回None。调用print(outer())将输出outer()的返回值,即None。
发布于 2020-12-16 09:18:37
print(outer)函数的名称是对其在内存中的位置的引用,因此输出它将导致函数在内存中的位置。
outer()调用该函数将激活代码,print('hi'),因此将打印“hi”。
这里的print(outer())函数将被激活以评估应该打印的内容,因此打印“hi”,然后没有(不返回)。
print(print('hi'))和上面一样,“hi”是打印出来的,然后就没有了。
https://stackoverflow.com/questions/65320341
复制相似问题