判断是否是数字:Python中判断一个字符串是否是数字的函数使用技巧
发布时间:2023-10-27 00:36:14
在Python中,判断一个字符串是否是数字可以使用以下的函数使用技巧:
1. isdigit()函数:可以用来判断一个字符串是否只包含数字字符。该函数返回True表示字符串全是数字,返回False表示存在非数字字符。这个函数只能判断整数,不能判断小数或负数。
示例代码:
def is_number(string):
return string.isdigit()
print(is_number("12345")) # 输出True
print(is_number("12.34")) # 输出False
print(is_number("-123")) # 输出False
2. isnumeric()函数:类似isdigit()函数,它也可以用来判断一个字符串是否只包含数字字符。与isdigit()函数不同的是,isnumeric()函数可以处理更多类型的数字字符,例如Unicode字符中的数字字符。
示例代码:
def is_number(string):
return string.isnumeric()
print(is_number("12345")) # 输出True
print(is_number("12.34")) # 输出False
print(is_number("-123")) # 输出False
print(is_number("3")) # 输出True,3是Unicode中的数字字符
3. isdecimal()函数:也是判断一个字符串是否只包含数字字符的函数,类似isdigit()和isnumeric()函数。与这两个函数不同的是,isdecimal()函数只能判断10进制数字字符。
示例代码:
def is_number(string):
return string.isdecimal()
print(is_number("12345")) # 输出True
print(is_number("12.34")) # 输出False
print(is_number("-123")) # 输出False
需要注意的是,以上的这些函数只能判断字符串中是否只包含数字字符,不能判断字符串是否表示一个有效的数字。如果需要完整的数字判断功能,可以使用Python的内置函数eval(),将字符串作为表达式进行求值,并捕获可能发生的异常。
def is_number(string):
try:
float(string)
return True
except ValueError:
return False
print(is_number("12345")) # 输出True
print(is_number("12.34")) # 输出True
print(is_number("-123")) # 输出True
print(is_number("123a")) # 输出False
