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

为何含下划线的字符串'123_2307_7'可被Python转换为整数?

Python中int()函数支持下划线分隔数字的细节

Python 3.6及以上版本的int()函数允许数字字符串里用下划线作为数字分组分隔符,目的是提升大数字的可读性,转换时会自动忽略这些下划线,所以'123_2307_7'会被成功转成整数12323077,而不是触发ValueError。

关于这个特性的细节:

  • 下划线只能放在数字字符之间,不能在字符串开头、结尾,也不能连续出现(比如'123__456'这种格式会触发ValueError)
  • 不仅十进制数字支持,其他进制(比如二进制'0b1000_0000'、十六进制'0xff_ee')也支持这种下划线分隔格式

如果要让带下划线的字符串进入你的字符串处理分支,可以在转换前先判断字符串是否包含下划线,修改后的函数示例:

def make_int(arg):
    if '_' in arg:
        str_value = arg
    else:
        try:
            int_value = int(arg)
        except ValueError:
            str_value = arg

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 19:00:52