Python 新推出的数字文字(例如 234_432)不能与 .isdigit() 一起使用吗?

标签 python python-3.x

我一直理解,如果某些东西可以转换为整数(即​​,某些东西是数字的字符串表示形式),isdigit() 返回 True。新功能的情况并非如此。下面是示例:

Code Sample

但是为什么呢?

最佳答案

要回答您的问题,请查看 python 3.6 documentation对于 isdigit 方法。

Return true if all characters in the string are digits and there is at least one character, false otherwise.

由于下划线不是数字,因此新格式无法与 isdigit 的当前实现很好地配合。正如我之前评论的,立即解决的方法是: str.replace("_", "").isdigit() 其中 str 是包含新格式化数字的字符串,同时避免使用 int 出现 try- except block 。

关于Python 新推出的数字文字(例如 234_432)不能与 .isdigit() 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45396339/

相关文章:

python - 如果输入的数字介于 2 个不同的数字之间,我该如何打印?

python - 如何使 Read plus (r+) 模式在 python 3 中工作?

python - 以原始样式打印列表

javascript - 正则表达式匹配字符前面有模式

python-3.x - 如何使用仅支持 TLS 1.0 的主机处理 Python 请求

python - 区分curses中的^J和<Enter>

Python - 我的频率函数效率低下

python - DataFrame 中的时间计算和操作分组

python - 如何将 4d RGB 图像数据转换为 LogisticRegression 的 2d 数组

python - 在混合调试中没有为 C++ 加载符号(来自 Python)