Python isnumeric() 语法
isnumeric() 是 Python 字符串的一个方法,它用于判断字符串中所有字符是否为 “数字”。
语法:
str.isnumeric()说明:
isnumeric() 方法不接收任何参数。
isnumeric() 方法会返回一个布尔值,即 True 或 False。
注意: Python 会将 “数字(0~9)、上标、下标” 等数学字符和 “罗马数字、分数、货币分子等” 具有 Unicode 数值属性的字符都视为 “numeric”,然后使用 isnumeric() 会返回 True。
Python isnumeric() 摘要
| 使用频率 | 低 |
|---|---|
| 修改原字符串 | 否 |
| 官方文档 | 查看 |
| 相关方法 | isdecimal()、isdigit() |
Python isnumeric() 示例
接下来,我们通过几个简单的例子来讲解 Python isnumeric() 方法是如何使用的。
示例 1:isnumeric() 基本用法
s1 = 'python2024'
s2 = '2077'
s3 = '3.1415'
print(s1.isnumeric())
print(s2.isnumeric())
print(s3.isnumeric())运行结果如下。
False
True
False分析:
s3 中包含了 “.”,而 “.” 不属于 “数字”,因此 s3.isnumeric() 返回 False。
示例 2:包含上标、下标或分数
s1 = '8²'
s2 = '8₂'
s3 = '½'
print(s1.isnumeric())
print(s2.isnumeric())
print(s3.isnumeric())运行结果如下。
True
True
True分析:
对于 isnumeric() 来说,上标、下标及分数等都会被视为有效数字字符。
示例 3:包含特殊数字
s1 = '२३' # 阿拉伯 - 印度数字
s2 = 'Ⅷ' # 罗马数字
s3 = '六' # 汉字数字
print(s1.isnumeric())
print(s2.isnumeric())
print(s3.isnumeric())运行结果如下。
True
True
True分析:
对于 isnumeric() 来说,“阿拉伯-印度数字”、“罗马数字” 和 “汉字数字” 都会被视为有效数字字符。
isdecimal()、isdigit() 与 isnumeric() 的区别
isdecimal()、isdigit() 和 isnumeric() 这 3 个方法的功能很相似,它们之间的区别如下。
isdecimal():只有数字(0~9)才会被视为 “decimal”,然后使用 isdecimal() 会返回 True。isdigit():只有数字(0~9)、上标、下标才会被视为 “digit”,然后使用 isdigit() 会返回 True。isnumeric():数字(0~9)、上标、下标、罗马数字、分数、货币分子等一律会被视为 “numeric”,然后使用 isnumeric() 都会返回 True。
如果你只是想判断是否为 0~9 这 10 个数字,只需要使用 isdecimal() 即可。
示例 4:isdecimal() vs isdigit() vs isnumeric()
s = '²३½'
print(s.isdecimal())
print(s.isdigit())
print(s.isnumeric())运行结果如下。
False
False
True分析:
在上面例子中,“३” 是天城文(Devanagari)数字中的 3,属于印度 - 阿拉伯数字系统的一部分。
