EXPRESSION_STMT如何在Python语法中工作?

时间:2019-07-08 12:06:39

标签: python sonarqube

我真的很难理解EXPRESSION_STMT在Python中的用法(请参阅此处以转到Python的语法和正确的行https://github.com/python/cpython/blob/v3.6.4/Grammar/Grammar#L41)。

它在Python中代表什么? 如果您有一个对我有帮助的例子:)

PS:有人告诉我使用这种语法的分析仪可以通过EXPRESSION_STMT识别打印功能,但我不明白为什么

1 个答案:

答案 0 :(得分:2)

有两种代码,分别是语句和表达式。通常,语句不返回任何内容,而表达式则返回任何内容。

诸如Redux stateiffor之类的语句在完成后不会返回任何内容

表达式就像while3True1 + 7之类,因为它们在执行时会返回值

在python中,只有一行类似于

的代码是完全有效的
"a" * 3

这将执行并返回3。这对于python来说是个问题,因为那时堆栈上还剩下3。因此,表达式语句基本上只是表达式的包装器,它使您可以自己将表达式编写为一行代码。这意味着与普通表达式不同,表达式语句在完成后将其返回值从堆栈中弹出

希望这是有道理的,如果不只是给我留言