Python程式中的type和isinstance


在本教程中,我們將學習Python的內建函式`type`和`isinstance`。這些函式用於確定物件的型別。讓我們一一來看。

type(object)

type用於瞭解物件的型別。例如,如果我們有一個值為5的物件val,則該物件的型別為int。我們可以使用type函式獲得它。讓我們按照一般的步驟來實現結果。

  • 初始化物件。
  • 使用type(object)函式獲取物件的型別。
  • 顯示型別。

下面是一個解釋type(object)函式的示例。

示例

# initialzing an object
val = 5
# getting type of the object
object_type = type(val)
# displaying the type
print(object_type)

輸出

如果執行上面的程式,您將得到以下結果。

<class 'int'>

isinstance(object, class)

isinstance(object, class)接受兩個引數,第一個是object,第二個是class。如果物件是給定class的子類,則返回True,否則返回False。例如,如果我們取一個值為{1, 2, 3}的物件nums,則將其和類set傳遞給isinstance將返回True。按照以下步驟檢查它。

  • 初始化物件。
  • 使用物件和類呼叫isinstance(object, class)

讓我們來看一個例子。

示例

# initializing the object
nums = {1, 2, 3}
# invoking the isinstance(object, class) function
print(isinstance(nums, set))

輸出

如果執行上面的程式,您將得到以下結果。

True

因此,isinstance函式也檢查子類的型別。如果它返回True,則該物件屬於給定類的型別。我們也可以將其用於自定義類。讓我們來看一個例子。

示例

# wrinting a class
class SampleClass:
   # constructor
   def __init__(self):
      self.sample = 5
# creating an instance of the class SampleClass
sample_class = SampleClass()
# accessing the sample class variable
print(sample_class.sample)
# invoking the isinstance(object, class) function
print(isinstance(sample_class, SampleClass))

輸出

如果執行上面的程式,您將得到以下結果。

5
True

結論

根據您的需要使用這些函式。兩者對於檢測物件的型別都非常方便。如果您在學習本教程時遇到任何問題,請在評論區提出。

更新於:2019年11月1日

瀏覽量:127

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告