请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

逻辑运算符 or

a=1

b=2

a or b+=1  这里为何会报错,

目的是测试当a为真时,第二个表达式是否会运算

正在回答 回答被采纳积分+3

2回答

JaqHon 2018-08-21 15:08:38

一、我的理解

解决这个问题需要了解运算符的优先级问题:

赋值运算符的优先级小于逻辑运算符,所以先进行逻辑运算(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. 表达式中不能使用=赋值,防止出现在想使用==进行比较的情况误使用了=变成赋值

1 回复 有任何疑惑可以回复我~
7七月 2018-08-22 11:37:31

楼下解释参考下

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信