Python不保证使用分号来结束语句。那么为什么允许(以下)呢?import pdb; pdb.set_trace()
3 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
Python并不需要分号来终止语句。如果您希望将多个语句放在同一行上,则可以使用半冒号来分隔语句。
现在,为什么允许这样做?这是一个简单的设计决定。我认为Python不需要这种分号的东西,但是有人认为将其添加到语言中会很好。
大话西游666
TA贡献1817条经验 获得超14个赞
口译中的分号
阅读了答案之后,我仍然想念使用分号的一个重要方面,可能是唯一真正起作用的方面。
当您在解释器REPL(Python交互式外壳,IDLE,ipython)中工作时,最后一个表达式的值将显示在屏幕上,通常这是预期的行为。
使用表达式产生副作用
但是在某些情况下,您只希望评估表达式的副作用,例如,查看用绘制的模拟结果matplotlib。
在这种情况下,您(可能)不想看到某些对象的屏幕,repr这些matplotlib对象有时是通过调用matplotlib函数返回的,并且您可能的一种方法是将分号附加到过于冗长的语句中,即由两个表达式(matplotlib调用和一个null语句)组成,因此复合表达式的值是None,解释器不会在屏幕上显示任何内容(另一种可能性是赋值,例如,_ = plot(...)但我发现它更具侵入性)。
个人评论
恕我直言,在IPyton笔记本电脑问世之后,使用分号来抑制解释器中不需要的输出已变得越来越重要,IPyton笔记本允许保存解释器会话的输入和输出(包括图形输出),以供文档记录和最终重用。
添加回答
举报
0/150
提交
取消