虽然looking at an answer given by wwii,我评论他的缩排说这是错的。然而,在我的IDLE中运行他的代码后,我发现它运行顺畅。Python IDLE允许使用不正确的缩进吗?
我尝试了几个例子,只是为了确保我得到正确的结果:
>>> def foo():
return 0
>>> foo()
0
>>> def bar():
return foo() + 5
>>> bar()
5
>>> def foobar():
return foo() + bar()
>>> foobar()
5
>>>
正如你可以看到,他们都运行得很好。如果我尝试同样的楷书,Python会引发一个错误我的程序运行之前,告诉我,我忘了缩进块:
为什么这种压痕被允许在交互式IDLE,但不是在常规脚本中?我查看了IDLE的文档,更具体地说是25.5.2.1 Automatic indentation,这无助于找到答案。
此外,the Python documenation on functions指出,函数体必须缩进:
的关键字def引入了一个函数定义。它必须跟随函数名称和形式参数的括号括起来的列表。构成函数主体的语句从下一行开始,,并且必须缩进。
(重点煤矿)
为什么这种压痕允许在IDLE,但在楷书完全关闭?这是故意的吗?如果是这样,这种行为记录在某个地方?
我猜测,在处理之前,提示符“>>>”会从第一行中除去。虽然这很烦人。 – wwii
@wwii好的。但它似乎比烦人更混乱。 –
我已经作为一个空闲的编码器被暴露。 – wwii