if语句冒号后的代码说明

Blu*_*780 1 python syntax if-statement python-3.x

在我学习pygame的同时,我偶然发现了一行我不理解的代码:

if y == 0 or y == height-1: var1 *= -1
Run Code Online (Sandbox Code Playgroud)

我理解if语句在python中的用法和逻辑门的用法,我不明白的是if语句之后的一小段语句:"var1*= 1"

有人可以解释这种语法吗?我不理解代码,并认为如果我们输入冒号以外的任何东西它会返回语法错误.

Chr*_*nto 5

实际上没有规则你不能在Python中冒号之后写东西.实际上,你也可以在if条件之后编写多个语句,如:if True: print "foo"; print "bar".

但是出于文体原因,通常建议在冒号后将其写入新行.例外情况可能是块的内容非常简单且一行.

*= 意味着将左侧的变量赋值给自身的值乘以右侧的表达式.