跳到主要内容

Python String isdigit() 方法

isdigit() 方法如果字符串中的所有字符都是数字,则返回 True。如果不是,则返回 False

示例

str1 = '342'
print(str1.isdigit())

str2 = 'python'
print(str2.isdigit())

# 输出: True
# False

String isdigit() 的语法

isdigit() 的语法是:

string.isdigit()

isdigit() 参数

isdigit() 不接受任何参数。

isdigit() 的返回值

isdigit() 返回:

  • True 如果字符串中的所有字符都是数字。
  • False 如果至少有一个字符不是数字。

示例 1:isdigit() 的工作原理

s = "28212"
print(s.isdigit())

# 包含字母和空格
s = "Mo3 nicaG el l22er"
print(s.isdigit())

输出

True
False

数字是具有以下属性值的字符:

  • Numeric_Type = Digit
  • Numeric_Type = Decimal

在 Python 中,上标和下标(通常使用 unicode 编写)也被认为是数字字符。因此,如果字符串包含这些字符以及十进制字符,isdigit() 返回 True。

罗马数字、货币分子和分数(通常使用 unicode 编写)被认为是数值字符,但不是数字。如果字符串包含这些字符,isdigit() 返回 False。

要检查字符是否是数值字符,可以使用 isnumeric() 方法。

示例 2:包含数字和数值字符的字符串

s = '23455'
print(s.isdigit())

# s = '²3455'
# 下标是数字
s = '\u00B23455'
print(s.isdigit())

# s = '½'
# 分数不是数字
s = '\u00BD'
print(s.isdigit())

输出

True
True
False