如何让代码接受 int 和 float 类型的值作为 double 类型? - Python

How to make the code accept both int and float type values as double type? - Python

我有一个具有混合值的数据集,其中很少有值是浮点数(例如 3.4),很少是整数值(例如 3.0)。我想检查所有的值是否都是双倍的。我希望如果值是 int 或 float,它们将被接受为 double 数据类型。

我试过:


data = [3.0, 3.4, 3.2, 3.0, 3.1]

for valuedata in data:
  is_double = isinstance(valuedata, float)
  print(is_double)

结果是 FALSE,我希望 int 和 float 都应该被接受为 double。

谢谢

您可以通过将元组传递给 isinstance():

来检查多个允许的类型
is_double = isinstance(valuedata, (int, float))

另请注意 Python 的 int 具有无限精度,它可能太大而无法放入 C/C++ double.

你可以看看它是不是numbers.Number的一个实例。

>>> import numbers
>>> isinstance(1.1, numbers.Number)
True
>>> isinstance(1, numbers.Number)  
True
>>>