确定Python对象是否为数字的最佳方法是什么?我正在使用以下测试
type(o) in [int, long, float, complex]
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有另一种方式.
首选方法是使用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
Run Code Online (Sandbox Code Playgroud)
另外,type(o) in [int, long, float, complex]可以改写为
isinstance(o, (int, long, float, complex))
Run Code Online (Sandbox Code Playgroud)
使它更健壮,因为能够检测int,long,float和complex的子类.
| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |