python缩进问题idle_Python IDLE中允许不正确的缩进?

当looking at an answer given by wwii时,我评论他的缩进说这是错误的。然而,在我空闲时运行他的代码之后,我发现它运行得很顺利。在

我试了几个例子,只是为了确保得到正确的结果:>>> def foo():

return 0

>>> foo()

0

>>> def bar():

return foo() + 5

>>> bar()

5

>>> def foobar():

return foo() + bar()

>>> foobar()

5

>>>

如你所见,他们都跑得很好。如果我在正则脚本中尝试同样的方法,Python甚至会在程序运行之前引发一个错误,告诉我忘记缩进块:

为什么这种缩进在交互式空闲中是允许的,而在常规脚本中却不允许?我查看了空闲的文档,更具体地说是25.5.2.1 Automatic indentation部分,这对找到答案毫无帮助。在The keyword def introduces a function definition. It must be followed by the function name and the parenthesized list of formal parameters. The statements that form the body of the function start at the next line, and must be indented.

(强调我的)

为什么在空闲时允许这种缩进,但在常规脚本中却完全关闭?这是故意的吗?如果是这样的话,这种行为有没有记录在案?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值