Python:事件导致错误的结果?

时间:2016-11-13 00:30:24

标签: python python-2.7

以下代码预计将返回'none',但是,似乎我做错了事件:

def function_that_prints():
    print "I printed"
    f1 = function_that_prints()
    print f1

我已经尝试将第3行左对齐,但它仍然没有发生。请指正,谢谢!

1 个答案:

答案 0 :(得分:0)

第三行缩进以便它是函数的一部分,function_that_prints()无限地递归(它自己调用)并且python会引发一个RuntimeError,抱怨已经超出了最大递归深度。

如果你没有缩进第三行,你有以下代码片段:

def function_that_prints():
    print "I printed"
f1 = function_that_prints() 
print f1

# Running this will produce:
# I printed
# None

声明f1 = function_that_prints()将打印“我已打印”,然后按照您的建议将f1设置为None

然后语句print f1将打印f1的值,即None