一般而言,编程语言中使用分号“;”来实现两种目的:
  1. 作为语句分隔符:使用分号来分隔语句(statement),这样就能在一行代码中书写多条语句(一行多句)

  2. 作为语句终止符:使用分号来终止语句,这样就能把多行代码识别为一条语句(一句多行)

  1. 单纯看“分隔符”与“终止符”,它们都是必须的,然而是否都要用分号来表示呢?这个问题没有达成一致的标准。

Python 中使用了分号作为语句分隔符,但是不用分号作为终止符, 而是用了换行作为终止符。若在一句完整的语句末尾加了分号,然后换行,那么 IDE 一般会提示“Trailing semicolon in the statement”,提示着这个“尾随分号”是多余的。

按我粗浅的理解,尾随分号实际会被当成分隔符,只不过它后面是“空语句”,然后是换行(即终止符)。分隔空语句是无必要的,所以尾随分号就成了多余的。Python 不用分号作为终止符,大概有如下的原因:

  1. 它把缩进和换行当成文法的有效部分,可以表达出完整的语义,不会导致编译时的歧义。这是最主要的原因,是跟“分号党”的根本区别

  2. 不用分号与花括号,但是使用缩进和冒号,这是一脉相承的思路,总体上形成了更高的可读性、简洁性和标准化。这体现了局部语法与整体规则的关系,1 + 1 > 2

  3. 可以少写字符,也避免了在某些键盘上要敲“shift”键的麻烦

  4. 分号主要是给机器看的,但 Python 更注重于人性化。早期硬件有所限制,加分号可以提升解析/编译的速度,但如今障碍已除,某些分号党语言只是在延续 B/C 语言的老传统

  5. 对于需要换行的语句,Python 中使用反斜杠(\)来连接,可以理解成它把换行给转义了,能够解决一句多行的问题

Python猫后台回复"0527"领取

写在最后

本文属于“Python为什么”系列文章(Python猫出品),该系列主要关注 Python 的语法、设计和发展等话题,以一个个“为什么”式的问题为切入点,试着展现 Python 的迷人魅力。视频版观看地址:https://space.bilibili.com/97566624/video


©著作权归作者所有:来自51CTO博客作者mb5fdcaee2972df的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Python 为什么只需一条语句“a,b=b,a”,就能直接交换两个变量?
  2. 不使用 if-elif 语句,如何优雅地判断某个数字所属的等级?
  3. SQL select语句笔记
  4. Ansible 之 when判断语句使用
  5. PHP语法:goto 语句
  6. 在 PHP 中格式化并高亮 SQL 语句
  7. PHP一句话木马小结与SQL语句写一句话木马

随机推荐

  1. android 添加一个新的android 键值
  2. android使用字体
  3. @+id/android:list"和"@android:id/list"
  4. Android延时执行方法
  5. android 6 what
  6. Android中实现滑动效果
  7. Android源码仓库和Repo工具使用
  8. 根据终端分配不同的url地址
  9. android:singleLine="true",[...]没有全
  10. Android(安卓)UI学习 - GridView和ImageV