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