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

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

Mary-Kate Olsen
リリース: 2024-12-03 02:25:12
オリジナル
492 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート