python "or"的问题

发布网友 发布时间:2022-04-22 09:31

我来回答

2个回答

热心网友 时间:2023-05-16 15:54

首先'a' = 'b' or 'c'这是不对的,一个等号是赋值,两个等号才是判断相等,'a'不是合法的变量名称,因此会出错
其次如果是'a'=='b' or 'c' ,在or操作中会先计算or前面的式子,如果结果为假,才会计算or后面的式子,'a'=='b'为假,因此会执行后面的字符表达式'c'。如果前面的式子为真,则会直接返回前面式子执行的结果
'a'==('b' or 'c') 括号中'b' or 'c'返回字符'b',然后执行'a'=='b',结果为False

热心网友 时间:2023-05-16 15:55

首先,你的命令就不对,你的意思应该是'a' == 'b' or 'c' , 之所以会直接输出'c'是因为:
1. 在python中==的优先级高于or, 所以优先计算左侧的==, 使之变成 Flase or 'c'
2. 其次 'c' 本身为真, false or 'c' 其实等同于 print 'c' if False or True, 自然输出的是'c'
拓展一下,如果命令式 'a' or 'c' == 'b' 这个时候输出的就是 'a', 同理

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com