为啥给变量赋值时用等于号报错?

我用if函数的代码↓

if a = False
    messagebox.showwarning()

当时这个VS Code就报错说这个等于号应该换成冒号,但是不加if的时候解释器没报错。
其他的解释器我都试了一下,都报错,但是我原来的程序也用了=,就没报错。
咋整啊?

img

if a = False改为if a == False,,if语句不能赋值,只能用来判断,,如果要对变量赋值并且在if语句里面,这个要在python3.8版本以上,如下所示:

if a:=True:
    print('aaa')

img

if a=False:
要冒号
你这if显然是要判断相等啊,怎么可能是赋值呢?
if a==False: