「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > オブジェクト型チェックに Python の「type()」と「isinstance()」のどちらを選択するか?

オブジェクト型チェックに Python の「type()」と「isinstance()」のどちらを選択するか?

2024 年 12 月 23 日に公開
ブラウズ:509

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

オブジェクトのタイプを決定する方法

オブジェクトのタイプを決定することは、データの一貫性を確保し、それに応じて操作を実行するために重要です。 Python には、この目的のために、type() と isinstance() という 2 つの組み込み関数が用意されています。

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