让我们探索一下 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))
|