You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Python中True匹配match语句的case 1分支并执行?

问题原因解释
  • Python里的布尔类型bool是整数类型int的子类,True的底层值等价于整数1,False等价于整数0。
  • match语句的字面量匹配逻辑是按顺序用**值相等(==)**来判断是否匹配:
    1. 首先检查a == False,结果为False,跳过该分支;
    2. 接着检查a == 2,结果为False,继续跳过;
    3. 最后检查a == 1,结果为True,因此执行case 1对应的打印操作。

你可以直接在Python交互环境验证这一点:

>>> True == 1
True
>>> isinstance(True, int)
True

内容的提问来源于stack exchange,提问作者sp1rs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 19:56:50