为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在此python代码段中允许使用分号?

为什么在此python代码段中允许使用分号?

繁星coding 2019-11-12 12:43:35
Python不保证使用分号来结束语句。那么为什么允许(以下)呢?import pdb; pdb.set_trace()
查看完整描述

3 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

Python并不需要分号来终止语句。如果您希望将多个语句放在同一行上,可以使用半冒号来分隔语句。

现在,为什么允许这样做?这是一个简单的设计决定。我认为Python不需要这种分号的东西,但是有人认为将其添加到语言中会很好。


查看完整回答
反对 回复 2019-11-12
?
大话西游666

TA贡献1817条经验 获得超14个赞

口译中的分号

阅读了答案之后,我仍然想念使用分号的一个重要方面,可能是唯一真正起作用的方面。


当您在解释器REPL(Python交互式外壳,IDLE,ipython)中工作时,最后一个表达式的值将显示在屏幕上,通常这是预期的行为。


使用表达式产生副作用

但是在某些情况下,您只希望评估表达式的副作用,例如,查看用绘制的模拟结果matplotlib。


在这种情况下,您(可能)不想看到某些对象的屏幕,repr这些matplotlib对象有时是通过调用matplotlib函数返回的,并且您可能的一种方法是将分号附加到过于冗长的语句中,即由两个表达式(matplotlib调用和一个null语句)组成,因此复合表达式的值是None,解释器不会在屏幕上显示任何内容(另一种可能性是赋值,例如,_ = plot(...)但我发现它更具侵入性)。


个人评论

恕我直言,在IPyton笔记本电脑问世之后,使用分号来抑制解释器中不需要的输出已变得越来越重要,IPyton笔记本允许保存解释器会话的输入和输出(包括图形输出),以供文档记录和最终重用。


查看完整回答
反对 回复 2019-11-12
  • 3 回答
  • 0 关注
  • 866 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信