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

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

  •  
  •   littleMaple · 54 天前 · 524 次点击
    这是一个创建于 54 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 条附言  ·  54 天前
    不好意思说错了,应该是冒号,不是分号 _(:3 」∠❀)_
    7 回复  |  直到 2019-07-31 14:57:34 +08:00
        1
    misaka19000   54 天前   ♥ 2
    冒号分号不分
        2
    2DaYe   54 天前 via iPhone
    给我看的一愣一愣的……
        3
    littleMaple   54 天前
    @misaka19000 我错了 o(T-T)ゞ
        4
    msg7086   54 天前
    是的,来写 Ruby 吧(逃
        5
    daweii   54 天前   ♥ 1
    主要是增强代码可读性。还有一个是让语法高亮的功能更加容易开发。
    关于可读性,有一个非常好的例子。

    ```
    pewkah
    lalala
    chunkykachoo
    pewpewpew
    skunkybacon
    ```

    ```
    pewkah
    lalala: (<-- see this colon)
    chunkykachoo
    pewpewpew
    skunkybacon
    ```
        7
    aguesuka   53 天前 via Android   ♥ 1
    你在控制台敲 python 的时候,如果有冒号,回车会下一行空四格,否则会执行
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   799 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 22:24 · PVG 06:24 · LAX 15:24 · JFK 18:24
    ♥ Do have faith in what you're doing.