type()とisinstance()の Python 例を挙げて

type()とは何か Python?

Python type() という組み込み関数があり、入力として与えられた変数のクラス型を見つけるのに役立ちます。たとえば、入力が文字列の場合、出力は次のようになります。リストの場合は、など

type() コマンドを使用すると、単一の引数を渡すことができ、戻り値は指定された引数のクラス タイプになります (例: type(object))。

type() に XNUMX つの引数、つまり type(name, Bases, dict) を渡すこともできます。その場合、新しい型オブジェクトが返されます。

type() の構文

type() は、以下に示す XNUMX つの方法で使用できます。

 type(object)
type(namr, bases, dict)

Parameters: タイプ(オブジェクト)

  • オブジェクト: これは必須パラメータです。 これが type() に渡されるパラメータのみの場合は、パラメータの型が返されます。

Parameters: type(名前、塩基、辞書)

  • name:クラスの名前。
  • ベース:(オプション)。 これはオプションのパラメータであり、基本クラスです
  • 辞書:(オプション)。 これはオプションのパラメータであり、クラスの定義を持つ名前空間です。

戻り値

オブジェクトが type() に渡される唯一のパラメータである場合、オブジェクトのタイプが返されます。

type に渡されたパラメータが type(object, baseds, dict) の場合、新しいタイプのオブジェクトが返されます。

type()の例

この例では、文字列値、数値、浮動小数点値、複素数、リスト、タプル、辞書、セットがあります。 型の変数を使用して、それぞれの出力を確認します。

str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_list = ["A", "B", "C", "D"]
my_tuple = ("A", "B", "C", "D")
my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
my_set = {'A', 'B', 'C', 'D'}

print("The type is : ",type(str_list))
print("The type is : ",type(age))
print("The type is : ",type(pi))
print("The type is : ",type(c_num))
print("The type is : ",type(my_list))
print("The type is : ",type(my_tuple))
print("The type is : ",type(my_dict))
print("The type is : ",type(my_set))

出力:

The type is :<class 'str'>
The type is :<class 'int'>
The type is :<class 'float'>
The type is :<class 'complex'>
The type is :<class 'list'>
The type is :<class 'tuple'>
The type is :<class 'dict'>
The type is :<class 'set'>

例: クラスオブジェクトに type() を使用する。

type() を使用してクラスから作成されたオブジェクトを確認すると、クラスの名前とともにクラスの種類が返されます。 この例では、クラスを作成し、クラス テストから作成されたオブジェクト タイプを確認します。

class test:
    s = 'testing'

t = test()
print(type(t))

出力:

<class '__main__.test'>

例: type() での名前、塩基、辞書の使用

この型は、type(name, Bases, dict) という構文を使用して呼び出すこともできます。

type()ie に渡される XNUMX つのパラメータ、name、bases、および dict は、クラス定義を構成するコンポーネントです。 name はクラス名を表し、bases は基本クラス、dict は基本クラスの属性の辞書です。

この例では、type() の XNUMX つのパラメータ、つまり name、bases、および dict をすべて使用します。

例:

class MyClass:
  x = 'Hello World'
  y = 50

t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))

出力:

<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

XNUMX つの引数をすべて type() に渡すと、基本クラスの属性を使用して新しいクラスを初期化するのに役立ちます。

isinstance()とは何か Python?

Python isinstanceは Pythonの組み込み関数. Python isinstance() は 2 つの引数を受け取り、最初の引数が 2 番目の引数として指定された classinfo のインスタンスである場合に true を返します。

構文 isinstance()

isinstance(object, classtype)

Parameters

  • object: クラスタイプと比較するインスタンスを持つオブジェクト。タイプが一致する場合は true を返し、そうでない場合は false を返します。
  • クラス型: 型、クラス、または型やクラスのタプル。

戻り値

オブジェクトが classtype のインスタンスである場合は true を返し、そうでない場合は false を返します。

isinstance() の例

このセクションでは、isinstance() を学ぶためにさまざまな例を学習します。

例: isinstance() 整数チェック

以下のコードは、整数値 51 を int 型と比較します。51 の型が int と一致する場合は true を返し、それ以外の場合は false を返します。

age = isinstance(51,int)
print("age is an integer:", age)

出力:

age is an integer: True

例: isinstance() Float チェック

この例では、float 値を float 型と比較します。つまり、3.14 の値は float 型と比較されます。

pi = isinstance(3.14,float)
print("pi is a float:", pi)

出力:

pi is a float: True

例: isinstance() 文字列チェック

message = isinstance("Hello World",str)
print("message is a string:", message)

出力:

message is a string: True

例: isinstance() タプルチェック

このコードは、タプル型のタプル (1,2,3,4,5) をチェックします。 指定された入力がタプル型の場合は true を返し、そうでない場合は false を返します。

my_tuple = isinstance((1,2,3,4,5),tuple)
print("my_tuple is a tuple:", my_tuple)

出力:

my_tuple is a tuple: True

例: isinstance() セットチェック

このコードは、セット ({1,2,3,4,5}、タイプがセットされているかどうかをチェックします。指定された入力がセットタイプの場合は true を返し、そうでない場合は false を返します。

my_set = isinstance({1,2,3,4,5},set)
print("my_set is a set:", my_set)

出力:

my_set is a set: True

例: isinstance() リストチェック

このコードは、リスト型を使用してリスト [1,2,3,4,5] をチェックします。 指定された入力がリスト型の場合は true を返し、そうでない場合は false を返します。

my_list = isinstance([1,2,3,4,5],list)
print("my_list is a list:", my_list)

出力:

my_list is a list: True

例: isinstance() 辞書チェック

このコードは、dict({"A":"a", "B":"b", "C":"c", "D":"d"},with type dict) をチェックします。次の場合は true を返します。与えられた入力は dict 型であり、そうでない場合は false です。

my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)
print("my_dict is a dict:", my_dict)

出力:

my_dict is a dict: True

例: クラスの isinstance() テスト

このコードは、 isinstance() を使用したクラスの型チェックを示しています。クラスのオブジェクトは、 isinstance() 内でクラスの名前と比較されます。オブジェクトがクラスに属している場合は true を返し、そうでない場合は false を返します。

class MyClass:
    _message = "Hello World"

_class = MyClass()

print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

出力:

_class is a instance of MyClass() True

type()とisinstance()の違い Python

タイプ() isinstance()
Python 入力として与えられた変数のクラス型を見つけるのに役立つ type() という組み込み関数があります。 Python isinstance() という組み込み関数があり、値と指定された型を比較します。指定された値と型が一致する場合は true を返し、そうでない場合は false を返します。
戻り値は型オブジェクトです 戻り値はブール値、つまり true または false です。
class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(type(A()) == A)
print(type(B()) == A)

出力:

True
False

type の場合、サブクラス チェックは false を返します。

class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(isinstance(A(), A))
print(isinstance(B(), A))

出力:

True
True

isinstance() は、サブクラスでチェックすると真の値を返します。

まとめ

  • Python type() という組み込み関数があり、入力として与えられた変数のクラス型を見つけるのに役立ちます。たとえば、入力が文字列の場合、出力は次のようになります。リストの場合は、など
  • type() の場合、単一の引数を渡すことができ、戻り値は、指定された引数のクラス タイプ (type(object) など) になります。
  • type() に XNUMX つの引数、つまり type(name, Bases, dict) を渡すこともできます。その場合、新しい型オブジェクトが返されます。
  • Python には、指定された型と値を比較する instance() という組み込み関数があります。指定された値と型が一致する場合は true を返し、そうでない場合は false を返します。isinstance() を使用すると、文字列、浮動小数点数、整数、リスト、タプル、辞書、セット、クラスなどをテストできます。
  • isinstance() メソッドを使用すると、string、float、int、list、tuple、dict、set、class などをテストできます。