逻辑运算符 or
来源:5-9 逻辑运算符

慕的地0335392
2018-08-21
a=1
b=2
a or b+=1 这里为何会报错,
目的是测试当a为真时,第二个表达式是否会运算
写回答
2回答
-
JaqHon
2018-08-21
一、我的理解
解决这个问题需要了解运算符的优先级问题:
赋值运算符的优先级小于逻辑运算符,所以先进行逻辑运算(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. 表达式中不能使用=赋值,防止出现在想使用==进行比较的情况误使用了=变成赋值
10 -
7七月
2018-08-22
楼下解释参考下
00
相似问题