如何检查变量是否为整数?


当前回答

如果你真的需要检查,那么最好使用抽象基类而不是具体类。对于一个整数,这意味着:

>>> import numbers
>>> isinstance(3, numbers.Integral)
True

这并没有将检查限制为仅int或仅int和long,而是还允许其他用户定义的行为为整数的类型工作。

其他回答

val=3
>>> isinstance(val,int ) 
True

将工作。

你可以做到的。

if type(x) is int:

最简单的方法是:

if n==int(n):
    --do something--    

变量n在哪

还有另一个选项可以进行类型检查。

例如:

  n = 14
  if type(n)==int:
  return "this is an int"

如果变量像字符串一样输入(例如。“2010”):

if variable and variable.isdigit():
    return variable #or whatever you want to do with it. 
else: 
    return "Error" #or whatever you want to do with it.

在使用这个之前,我用try/except和检查(int(变量))解决了它,但它是较长的代码。我想知道在资源的使用和速度上是否有什么不同。