确定Python对象是否为数字的最佳方法是什么?我正在使用下面的测试
type(o) in [int, long, float, complex]但我不知道还有什么办法。
发布于 2015-04-21 13:09:12
首选的方法是使用numbers.Number,这是
数字层次结构的根。如果您只想检查参数x是否是一个数字,而不关心是哪种参数,则使用isinstance(x,number )。
如下所示
In [1]: import numbers
In [2]: isinstance(1, numbers.Number)
Out[2]: True
In [3]: isinstance(1.0, numbers.Number)
Out[3]: True
In [4]: isinstance(1j, numbers.Number)
Out[4]: True另外,可以将type(o) in [int, long, float, complex]重写为
isinstance(o, (int, long, float, complex))以使其更健壮,例如能够检测int、long、float和complex的子类。
https://stackoverflow.com/questions/29773143
复制相似问题