工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python の type() と isinstance() と例

Python の type() とは?

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

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

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

このチュートリアルでは、次のことを学びます:

type() の構文:

type() は、以下に示すように 2 つの方法で使用できます:

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


パラメータ :タイプ(オブジェクト)

パラメータ :type(name, bases, dict)

戻り値:

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

type に渡されたパラメーターが型 (object, bases, 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() に渡される 3 つのパラメーター、つまり、name、bases、および dict は、クラス定義を構成するコンポーネントです。 name はクラス名を表し、bases は基本クラス、dict は基本クラス属性の辞書です。

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

例:

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}

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

Python の isinstance() とは?

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

構文 isinstance()

isinstance(object, 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 型と比較します。つまり、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() チェックを設定

このコードは、set ({1,2,3,4,5}, with type set) をチェックします。指定された入力の型が set の場合は 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() リスト チェック

このコードは、タイプ list のリスト [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 チェック

コードは dict({“A”:”a”, “B”:”b”, “C”:”c”, “D”:”d”}, タイプ dict をチェックします。指定された入力は 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

Python の type() と isinstance() の違い

type() 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

  1. C# 式、ステートメント、およびブロック (例付き)
  2. Python の型変換と型キャスト
  3. Python の数値、型変換、および数学
  4. RaspberryPiとPythonを使用したロボットの構築
  5. 例を使用した Python 文字列 count()
  6. Python String format() 例で説明
  7. Python String find() メソッドと例
  8. 例を含む Python Lambda 関数
  9. 例を使用した Python round() 関数
  10. 例を使用した Python map() 関数
  11. Python Timeit() と例