在Python中执行块之前冒号的目的是什么?
例:
if n == 0: print "The end"
冒号用于声明缩进块的开始。
从技术上讲,这是没有必要的;您可以在程序段完成后缩进和缩进。但是,基于Python koan的“显式胜于隐式”(EIBTI),我相信Guido故意使冒号成为强制性的,因此, 任何 应 在缩进代码后跟随的语句均以冒号结尾。(如果您继续在冒号后面继续,它还允许单线,但是这种样式并未得到广泛使用。)
这也使识别语法的自动缩进编辑器的工作更加轻松,这也被纳入决策。
这个问题原来是Python FAQ,我在这里找到了Guido的答案之一:
为什么if / while / def / class语句需要冒号? 主要需要使用冒号来增强可读性(实验性ABC语言的结果之一)。考虑一下: if a == b print a 与 if a == b: print a 请注意,第二个稍微更易于阅读。请进一步注意冒号是如何引起该FAQ回答中示例的;这是英语的标准用法。 另一个次要原因是冒号使使用语法高亮显示的编辑者更加容易。他们可以寻找冒号来决定何时增加缩进量,而不必对程序文本进行更复杂的解析。
为什么if / while / def / class语句需要冒号?
主要需要使用冒号来增强可读性(实验性ABC语言的结果之一)。考虑一下:
if a == b print a
与
if a == b: print a
请注意,第二个稍微更易于阅读。请进一步注意冒号是如何引起该FAQ回答中示例的;这是英语的标准用法。
另一个次要原因是冒号使使用语法高亮显示的编辑者更加容易。他们可以寻找冒号来决定何时增加缩进量,而不必对程序文本进行更复杂的解析。