小甲鱼 发表于 2025-7-16 02:03:54

已有 4 人购买  本主题需向作者支付 5 鱼币 才能浏览 购买主题

快速收敛 发表于 2025-7-16 08:41:13

老了,反应太慢了{:10_269:}

万水千山走遍 发表于 2025-7-17 22:51:51

为啥快问快答里的not 的优先级比+高了?{:10_257:}

小甲鱼 发表于 2025-7-18 00:23:53

万水千山走遍 发表于 2025-7-17 22:51
为啥快问快答里的not 的优先级比+高了?

题目应该是 “下列表达式中,优先级最高的逻辑运算符是?”

{:13_446:}

无小虚 发表于 2025-7-20 21:15:37

按照短路逻辑不应该是0吗?

小甲鱼的二师兄 发表于 2025-7-27 05:11:39

无小虚 发表于 2025-7-20 21:15
按照短路逻辑不应该是0吗?

无小虚 发表于 2025-7-28 11:32:06

本帖最后由 无小虚 于 2025-7-28 11:35 编辑

小甲鱼的二师兄 发表于 2025-7-27 05:11


(摸摸脑袋)一切以实践经验为准嘛?蟹蟹蟹蟹

小甲鱼的二师兄 发表于 2025-7-29 16:41:18

无小虚 发表于 2025-7-28 11:32
(摸摸脑袋)一切以实践经验为准嘛?蟹蟹蟹蟹

not 2 先得到 False,然后就变成了 0 or 1 and False

无小虚 发表于 2025-7-29 17:09:19

小甲鱼的二师兄 发表于 2025-7-29 16:41
not 2 先得到 False,然后就变成了 0 or 1 and False

哦~~
我用kimi辅助搜索了一下:
not永远返回严格的布尔值;
and和or才是短路求值。
0 or 1 and not 2 not严格返回布尔值后
0 or 1 and False 短路求值后
1 and False 短路求值后
False
蟹蟹,真的就是突然懂了{:10_275:}

36567671 发表于 2025-7-29 21:11:04

@FishC not 1 < 2的结果是?
A. True
B. False
C. 1
D. 2

FishC 发表于 2025-7-29 21:11:27

36567671 发表于 2025-07-29 21:11
@FishC not 1 < 2的结果是?
A. True
B. False
C....

在Python中,表达式 `not 1 < 2` 的运算顺序如下:
1. 先计算比较运算 `1 < 2`,结果为 True。
2. 再计算逻辑非运算 `not True`,结果为 False。

因此答案是:
B. False

验证代码:

print(not 1 < 2)# 输出 False


注意:
- 比较运算符(如 <)优先级高于逻辑运算符(如 not),因此实际计算顺序是 not (1 < 2)。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小甲鱼的二师兄 发表于 7 天前

无小虚 发表于 2025-7-29 17:09
哦~~
我用kimi辅助搜索了一下:
not永远返回严格的布尔值;


{:13_447:} 下次可以尝试点击「AI解析」

无小虚 发表于 7 天前

本帖最后由 无小虚 于 2025-7-30 21:37 编辑

小甲鱼的二师兄 发表于 2025-7-30 17:09
下次可以尝试点击「AI解析」

哈哈哈哈哈哈,欧克欧克,但人家点过了,太简略了,没看懂哈哈

miggoshit 发表于 5 天前

@FishC 下列表达式中,优先级最高的逻辑运算符是?
A. and
B. or
C. not
D. +

FishC 发表于 5 天前

miggoshit 发表于 2025-08-01 09:11
@FishC 下列表达式中,优先级最高的逻辑运算符是?
A ...

在 Python 中,逻辑运算符的优先级顺序是:
1. not 优先级最高。
2. and 次之。
3. or 优先级最低。

选项 D 中的 + 是算术运算符,不是逻辑运算符。虽然它的优先级比所有逻辑运算符都高,但问题指定的是“逻辑运算符”,因此不应考虑它。

所以,优先级最高的逻辑运算符是:
C. not

示例代码演示:

# 示例:not 先于 and 和 or 计算
result = not True and False# 等价于 (not True) and False → False and False → False
print(result)# 输出 False

# 对比:如果 or 优先级高(实际不是)
# 但实际计算顺序:not False or True → (not False) or True → True or True → True
result2 = not False or True
print(result2)# 输出 True

总结:在逻辑运算符中,not 总是最先计算。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 第011讲:短路逻辑和运算符优先级