Python 中检查变量是否为整数
-
使用
isinstance()
方法检查对象是否为 Python 中的int
类型 -
使用
int()
方法检查对象是否为 Python 中的int
类型 -
使用
float.is_integer()
方法检查对象是否为 Python 中的int
类型
在 Python 中,当处理数字时,我们有不同的数据类型。这些是 int
,float
和 complex
数据类型。
int
数据类型用于表示整数。在本教程中,我们将讨论如何检查变量是否为 int
。
在 Python 中,我们通常检查 type()
函数以返回对象的类型。例如,
x = 10
print(type(x))
print(type(x) == int)
输出:
<class 'int'>
True
此方法可能正常工作,但会阻止多态性的所有灵活性。例如,如果我们将对象子类化为 int
并希望将其注册为 int
,那么 type()
函数可能会失败。
下面的代码演示了这一点。
class def_int(int):
pass
x = def_int(0)
print(type(x))
print(type(x) == int)
输出:
<class '__main__.def_int'>
False
使用 isinstance()
方法检查对象是否为 Python 中的 int
类型
因此,建议在传统的 type()
上使用 isinstance()
函数。isinstance()
函数用于检查对象是否属于指定的子类。以下代码段将说明我们如何使用它来检查 int
对象。
y = 10
class def_int(int):
pass
x = def_int(0)
print(isinstance(y, int))
print(isinstance(x, int))
输出:
True
True
建议使用抽象基类 numbers.Integral
,而不是具体的 int
类。这样,我们可以检查 int
,long
,甚至可以检查用户定义的可以用作整数的方法。
使用 int()
方法检查对象是否为 Python 中的 int
类型
我们也可以使用 int
函数创建一个简单的逻辑来实现这一目标。对于要成为 int
的对象,该对象应等于将该对象传递给该对象时由 int()
函数返回的值。下面的代码演示了这一点。
x = 10.05
if int(x) == x:
print("True")
else:
print("False")
输出:
False
使用复杂对象时,此方法将返回 Type-error。
使用 float.is_integer()
方法检查对象是否为 Python 中的 int
类型
此方法仅适用于 float
对象。它检查 float 对象中的值是否为整数。例如,
x = 10.0
print(float.is_integer(x))
输出:
True
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn