type() und isinstance() in Python mit Beispielen

Was ist type() in Python?

Python hat eine eingebaute Funktion namens type(), die Ihnen hilft, den Klassentyp der als Eingabe angegebenen Variable zu finden. Wenn die Eingabe beispielsweise eine Zeichenfolge ist, erhalten Sie die Ausgabe als , fรผr die Liste wird es sein , usw.

Mit dem Befehl type() kรถnnen Sie ein einzelnes Argument รผbergeben und der Rรผckgabewert ist der Klassentyp des angegebenen Arguments, Beispiel: type(object).

Es ist auch mรถglich, drei Argumente an type() zu รผbergeben, nรคmlich type(name, bases, dict). In diesem Fall erhalten Sie ein neues Typobjekt zurรผck.

Syntax fรผr type()

type() kann auf zwei Arten verwendet werden, wie unten gezeigt:

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

KenngrรถรŸen: Typ(Objekt)

  • Objekt: Dies ist ein obligatorischer Parameter. Wenn dies nur ein Parameter ist, der an type() รผbergeben wird, wird der Typ des Parameters zurรผckgegeben.

KenngrรถรŸen: Typ(Name, Basen, Diktat)

  • Name:Name der Klasse.
  • Basen: (optional). Dies ist ein optionaler Parameter und die Basisklasse
  • dict: (optional). Dies ist ein optionaler Parameter und ein Namespace, der die Definition der Klasse enthรคlt.

Rรผckgabewert

Wenn das Objekt der einzige Parameter ist, der an type() รผbergeben wird, wird der Typ des Objekts zurรผckgegeben.

Wenn es sich bei den an den Typ รผbergebenen Parametern um einen Typ (Objekt, Basen, Diktat) handelt, wird in diesem Fall ein neuer Objekttyp zurรผckgegeben.

Beispiel fรผr type()

In diesem Beispiel haben wir einen String-Wert, eine Zahl, einen Float-Wert, eine komplexe Zahl, eine Liste, ein Tupel, ein Dict und ein Set. Wir werden die Variablen mit Typ verwenden, um die Ausgabe fรผr jede von ihnen anzuzeigen.

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

Ausgang:

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'>

Beispiel: Verwendung von type() fรผr ein Klassenobjekt.

Wenn Sie das aus einer Klasse erstellte Objekt mit type() รผberprรผfen, wird der Klassentyp zusammen mit dem Namen der Klasse zurรผckgegeben. In diesem Beispiel erstellen wir eine Klasse und รผberprรผfen den aus dem Klassentest erstellten Objekttyp.

class test:
    s = 'testing'

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

Ausgang:

<class '__main__.test'>

Beispiel: Verwendung von name, bases und dict in type()

Der Typ kann auch mit der Syntax aufgerufen werden: type(name, bases, dict).

Die drei an type() รผbergebenen Parameter, also name, bases und dict, sind die Komponenten, aus denen eine Klassendefinition besteht. Der Name stellt den Klassennamen dar, die Basis ist die Basisklasse und dict ist das Wรถrterbuch der Basisklassenattribute.

In diesem Beispiel werden wir alle drei Parameter verwenden, also Name, Basen und Diktat in type().

Ejemplo:

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

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

Ausgang:

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

Wenn Sie alle drei Argumente an type() รผbergeben, kรถnnen Sie eine neue Klasse mit Basisklassenattributen initialisieren.

Was ist isinstance() in Python?

Python isinstance ist Teil von Integrierte Python-Funktionen. Python isinstance() akzeptiert zwei Argumente und gibt โ€žtrueโ€œ zurรผck, wenn das erste Argument eine Instanz der als zweites Argument angegebenen Klasseninfo ist.

Syntax isinstance()

isinstance(object, classtype)

KenngrรถรŸen

  • Objekt: Ein Objekt, dessen Instanz Sie mit dem Klassentyp vergleichen. Es gibt โ€žtrueโ€œ zurรผck, wenn der Typ รผbereinstimmt, andernfalls โ€žfalseโ€œ.
  • Klassentyp: Ein Typ oder eine Klasse oder ein Tupel von Typen und/oder Klassen.

Rรผckgabewert

Es wird โ€žtrueโ€œ zurรผckgegeben, wenn das Objekt eine Instanz von โ€žclasstypeโ€œ ist, andernfalls โ€žfalseโ€œ.

Beispiele fรผr isinstance()

In diesem Abschnitt werden wir verschiedene Beispiele studieren, um isinstance() zu lernen.

Beispiel: isinstance() Ganzzahlprรผfung

Der folgende Code vergleicht den ganzzahligen Wert 51 mit dem Typ int. Er gibt โ€žtrueโ€œ zurรผck, wenn der Typ 51 mit int รผbereinstimmt, andernfalls โ€žfalseโ€œ.

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

Ausgang:

age is an integer: True

Beispiel: isinstance() Float-Prรผfung

In diesem Beispiel vergleichen wir den Float-Wert mit dem Typ Float, dh der Wert 3.14 wird mit dem Typ Float verglichen.

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

Ausgang:

pi is a float: True

Beispiel: isinstance() String-Prรผfung

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

Ausgang:

message is a string: True

Beispiel: isinstance() Tupelprรผfung

Der Code sucht nach einem Tupel (1,2,3,4,5) mit dem Typ Tupel. Es wird โ€žtrueโ€œ zurรผckgegeben, wenn die gegebene Eingabe vom Typ Tupel ist, andernfalls โ€žfalseโ€œ.

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

Ausgang:

my_tuple is a tuple: True

Beispiel: isinstance() Set check

Der Code sucht nach einer Menge ({1,2,3,4,5} mit dem Typ โ€žsetโ€œ. Er gibt โ€žtrueโ€œ zurรผck, wenn die gegebene Eingabe vom Typ โ€žsetโ€œ ist, andernfalls โ€žfalseโ€œ.

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

Ausgang:

my_set is a set: True

Beispiel: isinstance()-Listenprรผfung

Der Code sucht nach einer Liste [1,2,3,4,5] mit Typliste. Es wird โ€žtrueโ€œ zurรผckgegeben, wenn die Eingabe vom Typ โ€žListeโ€œ ist, andernfalls โ€žfalseโ€œ.

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

Ausgang:

my_list is a list: True

Beispiel: isinstance() Diktatprรผfung

Der Code sucht nach einem dict({โ€žAโ€œ:โ€œaโ€œ, โ€žBโ€œ:โ€œbโ€œ, โ€žCโ€œ:โ€œcโ€œ, โ€žDโ€œ:โ€œdโ€œ} mit dem Typ dict. Es wird true zurรผckgegeben, wenn Die gegebene Eingabe ist vom Typ dict und andernfalls falsch.

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

Ausgang:

my_dict is a dict: True

Beispiel: isinstance()-Test fรผr eine Klasse

Der Code zeigt die Typprรผfung der Klasse mit isinstance() . Das Objekt der Klasse wird mit dem Namen der Klasse innerhalb von isinstance() verglichen. Es gibt true zurรผck, wenn das Objekt zur Klasse gehรถrt, andernfalls false.

class MyClass:
    _message = "Hello World"

_class = MyClass()

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

Ausgang:

_class is a instance of MyClass() True

Unterschied zwischen type() und isinstance() in Python

Art() isinstance ()
Python verfรผgt รผber eine integrierte Funktion namens type(), die Ihnen hilft, den Klassentyp der als Eingabe angegebenen Variable zu finden. Python hat eine integrierte Funktion namens isinstance(), die den Wert mit dem angegebenen Typ vergleicht. Wenn der angegebene Wert und Typ รผbereinstimmen, wird โ€žtrueโ€œ zurรผckgegeben, andernfalls โ€žfalseโ€œ.
Der Rรผckgabewert ist ein Typobjekt Der Rรผckgabewert ist ein boolescher Wert, dh wahr oder falsch.
class A:
my_listA = [1,2,3]

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

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

Ausgang:

True
False

Im Falle eines Typs gibt die Unterklassenprรผfung โ€žfalseโ€œ zurรผck.

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

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

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

Ausgang:

True
True

isinstance() liefert einen wahren Wert, wenn es mit einer Unterklasse รผberprรผft wird.

Zusammenfassung

  • Python hat eine eingebaute Funktion namens type(), die Ihnen hilft, den Klassentyp der als Eingabe angegebenen Variable zu finden. Wenn die Eingabe beispielsweise eine Zeichenfolge ist, erhalten Sie die Ausgabe als , fรผr die Liste wird es sein , usw.
  • Fรผr type() kรถnnen Sie ein einzelnes Argument รผbergeben und der Rรผckgabewert ist der Klassentyp des angegebenen Arguments, z. B. type(object).
  • Es ist auch mรถglich, drei Argumente an type() zu รผbergeben, nรคmlich type(name, bases, dict). In diesem Fall erhalten Sie ein neues Typobjekt zurรผck.
  • Python hat eine integrierte Funktion namens instance(), die den Wert mit dem angegebenen Typ vergleicht. Wenn der angegebene Wert und Typ รผbereinstimmen, wird true zurรผckgegeben, andernfalls false. Mit isinstance() kรถnnen Sie auf String, Float, Int, List, Tuple, dict, Set, Class usw. testen.
  • Mit der Methode isinstance() kรถnnen Sie auf String, Float, Int, Liste, Tupel, Diktat, Menge, Klasse usw. testen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: