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

为何00与0在Python中属于合法整数?依据官方语法解析

Python整数字面量0和00合法性解析

看官方定义里的十进制整数(decinteger)规则:

decinteger ::= nonzerodigit ([""] digit)* | "0"+ ([""] "0")*

这个规则是二选一的逻辑:

  • 第一个分支对应普通非零开头的十进制整数,比如123、1_234
  • 第二个分支专门处理全零场景:允许一个或多个连续的0,中间还可以穿插下划线(比如0、00、0_0都符合该规则)

所以:

  • 0满足第二个分支里的"0"+(单个0符合“至少一个0”的要求)
  • 00同样符合第二个分支,两个连续的0完全匹配"0"+的定义

实际验证结果也能佐证:

>>> isinstance(0, int)
True
>>> isinstance(00, int)
True

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 07:50:10