Python中检查变量是否为整数5种方法

让我们探索一下 Python 中检查变量是否为整数的不同方法。

1. 使用 isinstance()
Python 中的 isinstance() 函数是一个内置函数,用于检查变量是否是特定类或其子类的实例。以下是我们如何使用 isinstance() 来检查变量是否为整数:

def is_integer(n):
    return isinstance(n, int)

print(is_integer(5))  # Outputs: True
print(is_integer(5.5))  # Outputs: False
print(is_integer("5"))  # Outputs: False

在此示例中,当变量为整数时,is_integer() 返回 True,否则返回 False。

2.使用type()
isinstance() 检查变量是否是特定类或其子类的实例,而 type() 函数严格检查变量是否是特定类的实例而不是其子类。以下是如何使用 type() 检查变量是否为整数:

def is_integer(n):
    return type(n) is int

print(is_integer(5))  # Outputs: True
print(is_integer(5.5))  # Outputs: False
print(is_integer("5"))  # Outputs: False


3. 使用数学模块
我们还可以使用 Python 数学模块来检查数字是否为整数。当我们想要检查浮点数实际上是否是整数时,此方法非常有效。

import math

def is_integer(n):
    if isinstance(n, float):
        return n.is_integer()
    elif isinstance(n, int):
        return True
    else:
        return False

print(is_integer(5))  # Outputs: True
print(is_integer(5.0))  # Outputs: True
print(is_integer(5.5))  # Outputs: False
print(is_integer("5"))  # Outputs: False


4.异常处理
有时,我们可能想检查变量是否可以转换为整数,即使它还不是整数。当从文件或用户输入读取数据时,这非常有用。我们可以使用 try/ except 块来执行此操作:

def is_integer(n):
    try:
        int(n)
        return True
    except ValueError:
        return False

print(is_integer(5))  # Outputs: True
print(is_integer(5.5))  # Outputs: True
print(is_integer("5"))  # Outputs: True
print(is_integer("5.5"))  # Outputs: False

5. 检查浮点数是否为整数
如果您正在处理浮点数并想要检查它们是否可以是整数(即它们是整数),您可以使用所有浮点数实例上可用的 is_integer() 方法:

def is_integer(n):
    return isinstance(n, float) and n.is_integer()

print(is_integer(5.0))  # Outputs: True
print(is_integer(5.5))