python - 检查数字是 int 还是 float

我是这样做的:

inNumber = somenumber
inNumberint = int(inNumber)
if inNumber == inNumberint:
    print "this number is an int"
else:
    print "this number is a float"

类似的东西。
有没有更好看的方法来做到这一点?

最佳答案

使用 isinstance .

>>> x = 12
>>> isinstance(x, int)
True
>>> y = 12.0
>>> isinstance(y, float)
True

所以:

>>> if isinstance(x, int):
        print('x is a int!')

x is a int!

在长整数的情况下,上述方法不起作用。所以你需要这样做:

>>> x = 12L
>>> import numbers
>>> isinstance(x, numbers.Integral)
True
>>> isinstance(x, int)
False

https://stackoverflow.com/questions/4541155/

相关文章:

Python 请求 - 无连接适配器

android - Eclipse Android 插件 -- libncurses.so.5

linux - 如何在 vi 编辑器中删除选定的文本

linux - 如何管道或重定向 curl -v 的输出?

python - 设置 Django 以使用 MySQL

python - 如何从外部访问本地 Django 网络服务器

linux - 如何将 AWS CLI 升级到最新版本?

c - 在 Linux 中启动 GDB 时如何传递命令行参数?

python - Django 的嵌套 Meta 类是如何工作的?

c - DESTDIR 和 PREFIX 的 make