为什么True 和Frue 输出的结果是True不太明白

img


为什么True 和Frue 输出的结果是True不太明白,希望有个人可以来解答一下我的困惑谢

根据优先级的顺序来运算:
1.先运算not
flag1是True;
not是取反运算符,True相反是False;
那么not flag1就是False;
print(flag1 or flag2 and not flag1) 可以变成print(flag1 or flag2 and False)
2.运算and
flag2是False;
and是与运算符,两边都是True的时候才为True,其他都为False;
所以flag2 and False为False;
print(flag1 or flag2 and False) 可以变成print(flag1 or False)
3.运算or
flag1是True;
or是或运算符,两边都是False的时候才为False,其他都为True;
所以flag1 or False为True;
print(flag1 or False) 可以变成print(True)
最后输出True

先运算not再运算and最后运算or