ホームページ >バックエンド開発 >Python チュートリアル >オブジェクト型チェックに Python の「type()」と「isinstance()」のどちらを選択するか?

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-03 02:25:12427ブラウズ

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")
を使用する例を次に示します。

以上がオブジェクト型チェックに Python の「type()」と「isinstance()」のどちらを選択するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。