0
下面的代碼應返回「無」,但是,似乎我已經做了一些錯誤的事件:Python:導致錯誤結果的事件?
def function_that_prints():
print "I printed"
f1 = function_that_prints()
print f1
我試圖把3號線左對齊,但它仍然沒有發生。請糾正我,謝謝!
下面的代碼應返回「無」,但是,似乎我已經做了一些錯誤的事件:Python:導致錯誤結果的事件?
def function_that_prints():
print "I printed"
f1 = function_that_prints()
print f1
我試圖把3號線左對齊,但它仍然沒有發生。請糾正我,謝謝!
由於第三行縮進以使其成爲函數的一部分,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
。