Pythonのインスタンスとは何ですか?それを実装する方法は?



この記事では、PythonのIsinstanceであるメソッドを紹介し、デモンストレーションを使用して完全な概念的な説明を提供します。

は、今日の市場で入手可能な最も強力なプログラミング言語の1つです。 Pythonは、Java、C、C ++などのエコシステム内の他のプログラミング言語の実装もサポートしています。 Pythonエコシステムで利用できる多くのモジュールと関数の中で、他の中で際立っているものの1つは、Pythonのインスタンスです。したがって、この記事では、インスタンス、その使用法、およびそれがテーブルにもたらす機能について詳しく説明します。

この記事では、次のポイントについて説明します。





さぁ、始めよう!

Javaの数値の桁の合計

PythonのIsinstanceとは何ですか?

Python isinstanceは、引数である最初のオブジェクトが2番目の引数であるclassinfoクラスのインスタンスまたはサブクラスであるかどうかを確認するために使用されます。



Pythonでのisinstanceの構文は次のとおりです。

isinstance(object、classinfo)

PythonのIsinstanceが持つパラメータと戻り値を見てみましょう。



Isinstanceのパラメータと戻り値

パラメータ

isinstanceの構文を理解したところで、それが考慮しているパラメーターを詳しく見てみましょう。

  1. オブジェクト:これはチェックする必要があるオブジェクトです。
  2. Classinfo:これは、オブジェクトをチェックする必要があるクラス、情報、またはクラスのタプルです。

戻り値

isinstanceがプログラムで使用される場合、戻り値は、以下のポインターで説明されているように、いくつかの条件に依存します。

  1. オブジェクトがclassinfoのサブクラスまたはクラスのタプルである場合、Trueが返されます。
  2. オブジェクトがclassinfoのサブクラスまたはクラスのタプルでない場合、Falseが返されます。

特定の状況で、classinfoが型または型のタプルではない場合、typeerror例外がユーザーの画面に発生します。

isinstanceの使用法をよりよく理解するために、いくつかの例を見てみましょう。

例1

クラスFoo:a = 5 fooInstance = Foo()print(isinstance(fooInstance、Foo))print(isinstance(fooInstance、(list、tuple)))print(isinstance(fooInstance、(list、tuple、Foo)))

出力

本当

誤り

本当

PythonのIsinstance:例2

数値= [1、2、3]結果= isinstance(数値、リスト)print(数値、 'リストのインスタンス?'、結果)結果= isinstance(数値、dict)print(数値、 'dictのインスタンス?'、結果)result = isinstance(numbers、(dict、list))print(numbers、 'instance of dict or list?'、result)number = 5 result = isinstance(number、list)print(number、 'instance of list?'、結果)result = isinstance(number、int)print(number、 'instance of int?'、result)

出力

[1、2、3]リストのインスタンス?本当

[1、2、3] dictのインスタンス?誤り

[1、2、3] dictまたはlistのインスタンス?本当

リストの5つのインスタンス?誤り

intの5つのインスタンス?本当

例3

#isinstance()クラスのPythonコードTest:a = 5 TestInstance = Test()print(isinstance(TestInstance、Test))print(isinstance(TestInstance、(list、tuple)))print(isinstance(TestInstance、(list、tuple 、テスト)))

出力

本当

誤り

本当

「IsinstanceInPython」の記事を続けて、Typeメソッドの使用法を理解しましょう。

PythonでのTypeの使用

isinstanceと同様に、実行時に使用されているタイプpf変数をチェックするために使用されるPythonの組み込みメソッドがもう1つあります。単一の引数またはオブジェクトがtypeメソッドを介して渡される場合、実行時に使用されているオブジェクトのタイプを返します。

これをよりよく理解するには、以下の例を見てください。

Javaのアルゴリズムとデータ構造

PythonのIsinstance:例#1.1

#単一のオブジェクトパラメータを持つPythonコードtype()x = 5 s = 'sampleoutput' y = [1,2,3] print(type(x))print(type(s))print(type(y))

出力

クラス「int」

クラス「str」

クラス「リスト」

例#1.2

#名前、#ベース、dictパラメーターを持つtype()のPythonコードo1 = type( 'X'、(object、)、dict(a = 'Foo'、b = 12))print(type(o1))print (vars(o1))クラステスト:a = 'Foo' b = 12 o2 = type( 'Y'、(test、)、dict(a = 'Foo'、b = 12))print(type(o2)) print(vars(o2))

出力

{‘b’:12、 ‘a’: ‘Foo’、 ‘__ dict __’:、 ‘__ doc__’:なし、 ‘__ weakref__’:}

{‘b’:12、 ‘a’: ‘Foo’、 ‘__ doc__’:なし}

PythonのTypeとIsinstanceを比較してみましょう。

Type()とIsinstanceの違い

Pythonのtypeとisinstanceは、2つの非常に異なる機能を提供します。以下のポインタを見て、それらの違いをよりよく理解してください。

  1. オブジェクトに特定のタイプがあるかどうかを確認する必要がある場合は、isinstanceを使用するのが最適です。これは、isinstanceが、最初の引数で渡されたオブジェクトが2番目の引数で渡されたオブジェクトと同じタイプであるかどうかを確認できるためです。
  2. 一方、特定のオブジェクトのタイプを単にチェックし、それを別のオブジェクトと比較する必要がない場合は、タイプの使用がより好まれます。

ダックタイピングクラスを説明するためのPythonコードUser(object):def __init __(self、firstname):self.firstname = firstname @property def name(self):return self.firstname class Animal(object):pass class Fox(Animal) :name = 'Fox' class Bear(Animal):name = 'Bear'#[User( 'SampleOutput')、Fox()、Bear()]のaのタイプに関係なく、.name属性(またはプロパティ)を使用します:print(a.name)

出力

SampleOutput

java system.exit(1)

くま

typeメソッドを使用しないもう1つの理由は、継承がないことです。これをよりよく理解するために、以下で共有される例を見てください。

type()クラスでの継承のサポートがないことを示す#pythonコードMyDict(dict): '' '通常の辞書。常に'初期 'キー' ''で作成されます。def__init__(self):self [ '初期'] = '一部のデータ' d = MyDict()print(type(d)== dict)print(type(d)== MyDict)d = dict()print(type(d)== dict)print (type(d)== MyDict)

出力

誤り

本当

本当

誤り

だから、これはみんな、これでこの記事の終わりになります。 PythonのIsinstanceとその機能を理解していただければ幸いです。

Pythonとそのさまざまなアプリケーションに関する深い知識を得るには、次のことができます。 24時間年中無休のサポートと生涯アクセスを備えたライブオンライントレーニング用。

質問がありますか?この記事のコメントセクションでそれらに言及してください。折り返しご連絡いたします。