」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在Python的`type()`和`isinstance()`之間進行選擇以進行物件類型檢查?

如何在Python的`type()`和`isinstance()`之間進行選擇以進行物件類型檢查?

發佈於2024-12-23
瀏覽:597

How to Choose Between Python's `type()` and `isinstance()` for Object Type Checking?

如何確定物件的類型

確定物件的類型對於保證資料一致性並相應地執行操作至關重要。 Python 為此目的提供了兩個內建函數:type() 和 isinstance()。

使用 type()

type() 函數傳回確切的型別一個物件的。例如:

>>> type([]) is list
True
>>> type({}) is dict
True
>>> type('') is str
True
>>> type(0) is int
True

使用 isinstance()

isinstance() 函數檢查物件是否是特定類型(包括繼承類型)的實例。與 type() 不同,它支援類型繼承。

>>> isinstance(b, Test1)
True
>>> isinstance(b, Test2)
True
>>> isinstance(a, Test1)
True
>>> isinstance(a, Test2)
False
>>> isinstance([], list)
True
>>> isinstance({}, dict)
True

在 type() 和 isinstance() 之間進行選擇

通常,isinstance() 更適合檢查物件類型,因為它考慮了派生類型。如果您出於特定原因需要確切的類型對象,則 Type() 更合適。以下是您可以使用 isinstance():

def print_object_type(obj):
  if isinstance(obj, int):
    print("Integer")
  elif isinstance(obj, float):
    print("Float")
  elif isinstance(obj, str):
    print("String")
  else:
    print("Unknown type")
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3