在Python中,判断一个值是否为数字,可以通过以下几种方法:
1. 使用`isinstance()`函数:
num = 123
if isinstance(num, int) or isinstance(num, float):
print("num is a number.")
else:
print("num is not a number.")
2. 使用`type()`函数:
num = 123
if type(num) == int or type(num) == float:
print("num is a number.")
else:
print("num is not a number.")
3. 使用正则表达式:
import re
num = "123"
if re.match(r'^-?\d+(\.\d+)?$', num):
print("num is a number.")
else:
print("num is not a number.")
4. 使用`str.isdigit()`方法:
num = "123.456"
if num.replace('.', '', 1).isdigit():
print("num is a number.")
else:
print("num is not a number.")
5. 使用`try-except`语句:
num = "123.456"
try:
float(num)
print("num is a number.")
except ValueError:
print("num is not a number.")