Python中用于判断字符串是否为数字的函数示例
发布时间:2023-06-23 03:58:35
Python中判断字符串是否为数字的函数有很多种,下面将分别介绍它们的用法和实现原理。
1. isdigit()
isdigit()函数可以判断一个字符串是否只包含数字字符。如果是,则返回True,否则返回False。
例如:
str1 = '123' str2 = '12a3' str3 = '一二三' print(str1.isdigit()) # True print(str2.isdigit()) # False print(str3.isdigit()) # False
2. isnumeric()
isnumeric()函数可以判断一个字符串是否只包含数字字符,包括全角数字。如果是,则返回True,否则返回False。
例如:
str1 = '123' str2 = '12a3' str3 = '一二三' print(str1.isnumeric()) # True print(str2.isnumeric()) # False print(str3.isnumeric()) # True
3. isdecimal()
isdecimal()函数可以判断一个字符串是否只包含数字字符,包括全角数字和数字字符。如果是,则返回True,否则返回False。
例如:
str1 = '123' str2 = '12a3' str3 = '一二三' print(str1.isdecimal()) # True print(str2.isdecimal()) # False print(str3.isdecimal()) # False
4. isnumeric2()
基于Unicode字符集,使用正则表达式判断一个字符串是否只包含数字字符,包括全角数字和数字字符。如果是,则返回True,否则返回False。
实现代码如下:
import re
def isnumeric2(s):
pattern = '^\d+$'
if re.match(pattern, s):
return True
else:
return False
str1 = '123'
str2 = '12a3'
str3 = '一二三'
print(isnumeric2(str1)) # True
print(isnumeric2(str2)) # False
print(isnumeric2(str3)) # False
5. isfloat()
判断一个字符串是否为浮点数。如果是,则返回True,否则返回False。
实现代码如下:
import re
def isfloat(s):
pattern = '^\d+\.\d+$'
if re.match(pattern, s):
return True
else:
return False
str1 = '123.456'
str2 = '12.34.56'
str3 = '一二三'
print(isfloat(str1)) # True
print(isfloat(str2)) # False
print(isfloat(str3)) # False
以上就是Python中常用的判断字符串是否为数字的函数,具体使用时需要根据实际情况选择合适的函数。
