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
misaka19000 2019-07-30 22:07:44 +08:00 2
冒号分号不分
|
2
2DaYe 2019-07-30 22:31:20 +08:00 via iPhone
给我看的一愣一愣的……
|
3
littleMaple OP @misaka19000 我错了 o(T-T)ゞ
|
4
msg7086 2019-07-30 22:39:23 +08:00
是的,来写 Ruby 吧(逃
|
5
daweii 2019-07-30 22:48:18 +08:00 1
主要是增强代码可读性。还有一个是让语法高亮的功能更加容易开发。
关于可读性,有一个非常好的例子。 ``` pewkah lalala chunkykachoo pewpewpew skunkybacon ``` ``` pewkah lalala: (<-- see this colon) chunkykachoo pewpewpew skunkybacon ``` |
6
daweii 2019-07-30 23:00:54 +08:00 1
|
7
aguesuka 2019-07-31 14:57:34 +08:00 via Android 1
你在控制台敲 python 的时候,如果有冒号,回车会下一行空四格,否则会执行
|