一、我的理解
解决这个问题需要了解运算符的优先级问题:
赋值运算符的优先级小于逻辑运算符,所以先进行逻辑运算(or),在进行赋值运算(+=)
a or b+=1实际的计算过程可以按顺序分为以下几步:
①a or b;
②1+=1(a or b的结果为1)这个地方因为int类型的数据1是不可变的.而你要改变一个不可变得值所以就会报错
二、我百度了一下:https://zhidao.baidu.com/question/652519518079289045.html
有网友说:在官方tutorials中看到了解释:Note that in Python, unlike C, assignment cannot
occur inside expressions. 表达式中不能使用=赋值,防止出现在想使用==进行比较的情况误使用了=变成赋值