我是Python的新手,我想问一个问题:

def spam(a):
    a = 1 + a
    return a
spam(21)
print(spam)
input()


运行它之后,输出为function spam at 0x021B24F8。输出不应该是22吗?任何帮助将不胜感激。

最佳答案

问题在于您的函数(即spam)正在返回值。您需要接受函数返回的值,并将其存储在另一个变量中,如下所示:

s = spam(21)
print(s)


在这里,您将返回值存储在变量s中,然后将其打印出来。

进行更正后,程序将按预期方式打印

22


注意-与mentioned一样,只有一个语句print(spam(21))也可以作为spam(21)起作用,会将22返回到print函数,该函数随后将为您打印出值!

关于python - 函数返回错误(Python 3),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29278434/

10-12 14:00