讓我們探索一下 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(<font>"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(<font>"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(<font>"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(<font>"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))
|