logo

Python でオブジェクトの型を確認する方法

この記事では、オブジェクトのタイプを決定するための重要なスキルについて説明します。 パイソン 。 Python プログラミング言語内でオブジェクトの操作を行う前に、その型を確認する方法を理解しておくことが不可欠です。この基本的なタスクは、個人プロジェクトで作業している場合でも、複雑な実稼働システムで作業している場合でも、定期的に発生します。

Python でオブジェクトの型を確認する

Python には、オブジェクトのタイプを識別するためのメソッドがいくつか用意されています。その中で最も基本的なのは、オブジェクトのタイプを簡単にチェックする方法を提供する組み込みの type() 関数です。より高度なテクニック、例えば、 インスタンスです () 関数を使用すると、クラス階層と継承を処理できるという利点があります。まずは組み込みの type() 関数を見てから、次のようなより高度なメソッドに進みます。 インスタンスです () 関数 、__class__ プロパティなど。



オブジェクトのタイプを取得して出力します: type()

タイプ() オブジェクトのタイプを返します。これは、変数またはリテラルの型を取得して出力するために使用できるという点で、他のプログラミング言語の型に似ています。

Python3








print>(>type>(>'string'>))> #> print>(>type>(>500>))> #> print>(>type>([>9>,>8>,>7>]))> #>

>

>

出力

>

オブジェクトのタイプを取得して出力します: isinstance()

インスタンスです (object, type) は、オブジェクト引数が指定された型パラメータのサブクラスまたはインスタンスである場合に True を返します。さまざまなタイプを確認するには、2 番目のオプションとしてタプルを使用します。オブジェクトが指定された型のいずれかのインスタンスである場合、True を返します。

Python3




print>(>isinstance>(>'string'>,>str>))> # True> print>(>isinstance>(>300>,>str>))> # False> print>(>isinstance>(>700>, (>int>,>str>)))> # True>

>

>

出力

True False True>

オブジェクトのタイプを取得して出力します: class__ 属性

Python ではすべてがオブジェクトであり、各オブジェクトには独自の特性があります。 「__class__」属性は、オブジェクトのクラス型を返すことができる唯一の属性です。 Python の __class__ 属性は、組み込み関数に加えてオブジェクト タイプを検証するためにも使用できます。

各 Python オブジェクトには、オブジェクトのクラス情報を含む __class__ という属性があります。たとえば、整数 5 のクラスは、以下のコードを使用して見つけることができます。

Python3


検索エンジンと例



x>=> 10> print>(x.__class__)> #> y>=> 'GeeksForGeeks'> print>(y.__class__)> #> z>=> 90.0> print>(z.__class__)> #>

>

>

出力

>

オブジェクトのタイプを取得して出力します: ‘==’ 演算子と type()

オブジェクトのタイプを決定するもう 1 つの方法は、type() 関数と == 演算子を使用することです。これは、オブジェクトの型を特定のクラスと比較するために使用できます。たとえば、整数 5 が int 型であるかどうかを判断するには、次のコードを使用できます。

パイソン




x>=> 5> print>(>type>(x)>=>=> int>)> # True> y>=> 5.0> print>(>type>(y)>=>=> float>)> # True> z>=> 'techcodeview.com'> print>(>type>(z)>=>=> int>)> # False>

>

>

出力

True True False>

Python は動的に型指定される言語であることに注意してください。つまり、変数の型は使用中に変更される可能性があります。そのため、指定されたタスクを実行する前にアイテムの種類を確認する必要がある場合があります。たとえば、2 つの数値を加算するには、それらが両方とも整数または浮動小数点数であることを確認する必要があります。

前述のコードは、変数のオブジェクト型が実行中にどのように変化するかを示しています。

パイソン




x>=> 10> print>(>type>(x))> x>=> 'GeeksForGeeks'> print>(>type>(x))>

>

>

出力

>

10 は整数であるため、最初の print ステートメントでは型が「int」として表示されましたが、同じ変数に文字列を割り当てた後、オブジェクト型の動的な変更により、同じ print ステートメントでは型が「str」として表示されました。

Python の動的に型指定される性質により、オブジェクトの型をチェックするプロセスが必要になります。たとえば、2 つの数値を加算する場合、それらが両方とも整数または浮動小数点数であることを確認する必要があります。互換性のないクラス型操作では、type() などの関数、または「__class__」プロパティにアクセスする他のアプローチを使用してのみデバッグできるエラーが発生します。

要約すると、Python でのオブジェクト型チェックをマスターすることは、初心者でも経験豊富なプログラマでも、あらゆるレベルの開発者にとって重要です。 type()、isinstance()、および クラス 、効率的で信頼性の高いコードを作成するために不可欠です。これらのメソッドは、さまざまな型チェック シナリオに対応する多用途のツールキットを提供し、Python 開発の習熟度を高めます。