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

1
0

7七月

2018-08-22

楼下解释参考下

0
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14590 学习 · 4469 问题

查看课程