V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
littleMaple
V2EX  ›  问与答

Python 语法设计中的一些分号是否是冗余的 token?例如 if/else/for 语句行末和函数定义行末的那些分号

  •  
  •   littleMaple · 2019-07-30 22:05:08 +08:00 · 1253 次点击
    这是一个创建于 1702 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Python 的语法要求例如 for/while/if/else 语句的行末、函数头行末、类定义行末的地方都要求有分号;可是既然 Python 已经能够通过缩进规则来自动识别代码所在块( block ),似乎这些地方出现的分号其实是冗余的,可以在设计的时候去掉?

    class Building:
      def get_payment():
        if 1 + 1 != 2:
           raise UniverseError
        else:
          for item in self._payment: 
            yield item
    
    # In contrast, if the language doesn't require colons
    class Building
      def get_payment()
        if 1 + 1 != 2
          raise UniverseError
        else
          for item in self._payment
            yield item
    
    第 1 条附言  ·  2019-07-30 22:36:06 +08:00
    不好意思说错了,应该是冒号,不是分号 _(:3 」∠❀)_
    7 条回复    2019-07-31 14:57:34 +08:00
    misaka19000
        1
    misaka19000  
       2019-07-30 22:07:44 +08:00   ❤️ 2
    冒号分号不分
    2DaYe
        2
    2DaYe  
       2019-07-30 22:31:20 +08:00 via iPhone
    给我看的一愣一愣的……
    littleMaple
        3
    littleMaple  
    OP
       2019-07-30 22:35:11 +08:00
    @misaka19000 我错了 o(T-T)ゞ
    msg7086
        4
    msg7086  
       2019-07-30 22:39:23 +08:00
    是的,来写 Ruby 吧(逃
    daweii
        5
    daweii  
       2019-07-30 22:48:18 +08:00   ❤️ 1
    主要是增强代码可读性。还有一个是让语法高亮的功能更加容易开发。
    关于可读性,有一个非常好的例子。

    ```
    pewkah
    lalala
    chunkykachoo
    pewpewpew
    skunkybacon
    ```

    ```
    pewkah
    lalala: (<-- see this colon)
    chunkykachoo
    pewpewpew
    skunkybacon
    ```
    daweii
        6
    daweii  
       2019-07-30 23:00:54 +08:00   ❤️ 1
    aguesuka
        7
    aguesuka  
       2019-07-31 14:57:34 +08:00 via Android   ❤️ 1
    你在控制台敲 python 的时候,如果有冒号,回车会下一行空四格,否则会执行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5527 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 08:59 · PVG 16:59 · LAX 01:59 · JFK 04:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.