Python string.isdigit() 函数用法

2023-09-17 22:21:26

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

语法:

str.isdigit()

参数:

没有。

返回值:

如果字符串中的所有字符都是数字,则返回 True;即使一个字符不是数字,也返回 False。

以下示例演示isdigit()方法。

mystr = '12345'
print(mystr.isdigit())
mystr = '10.5'
print(mystr.isdigit())
mystr = 'python'
print(mystr.isdigit())

输出:

True
False
False

如果字符串包含空格、符号或字母,则 isdigit() 方法将返回 False。

print('$100'.isdigit())
print('100 '.isdigit())

输出:

False
False

上标和下标(通常使用 Unicode 编写)也被视为数字字符。因此,如果字符串包含这些十进制字符,则isdigit()返回 True。提到的 Unicode 字符应该有一个数字输出。 如果 Unicode 值不返回数字,则isdigit()方法返回 False。

num = 'u0038' # Unicode char for 8
print(num.isdigit())
mystr = 'u00380061'  # Unicode char 8a
print(mystr.isdigit())
arabic_six = '۶' # Arabic digit 6
print(arabic_six.isdigit())

输出:

True
False
True

下表列出了基于给定输入的isdecimal()isdigit()isnumeric()方法之间的差异:

Input String Valueisdecimal()isdigit()isnumeric()
'123'TrueTrueTrue
'$123'FalseFalseFalse
'123.50'FalseFalseFalse
'123a'FalseFalseFalse
'¾'FalseFalseTrue
'u0034'TrueTrueTrue