我偶然发现了这个句子,
在Python中,缩进在语义上很有意义。
我不太明白“语义上有意义”是什么意思。
此外,由于缩进用于分隔Python中分词表达式的if块和else块,难道它们不被认为是语言语法的一部分,因此“语法上有意义”吗?(我在文档中找不到条件表达式中提到它们。)
发布于 2022-06-13 23:24:45
我认为他们应该说“语义上有意义”,但区别有点模糊。TechDifferences说:
编程语言的语法是用于指定代码的结构或形式的规则集合,而语义是指对代码的解释或程序的符号、字符或任何部分的相关含义。
由于缩进决定了一行是否是函数或循环的一部分,并且影响到变量范围,所以可以认为它影响符号的“关联意义”。
发布于 2022-06-13 23:29:35
这个问题对迂腐很有用,因为答案不会改变您编写代码的方式。
然而,我想说的是:在Python中,前导空格在语法上是有意义的,缩进在语义上是有意义的。
逻辑行开始处的空格数(在文献资料中定义的意义上)定义了该行的缩进级别,方法是将前导空格的数量与前一逻辑行的相同数目进行比较。它要么匹配前一个数字(继续当前块),更大(增加级别和启动新块),要么匹配以前的空格数(减少级别,结束当前块,继续匹配块)。如果它与以前的级别不匹配,那就是缩进错误。这就是前导空间的句法意义。
一旦Python知道了缩进级别,这就决定了行的意义(即继续一个块,启动一个新块,或者继续一个前一个块并结束当前)--这些都是缩进级别的语义。
换句话说:前导空格是语法,缩进是语义。
https://stackoverflow.com/questions/72610007
复制相似问题