Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

type() und isinstance() in Python verstehen: Praktische Beispiele

type() und isinstance() in Python verstehen: Praktische Beispiele

Was ist type() in Python?

Python hat eine eingebaute Funktion namens type(), die hilft, den Klassentyp der als Eingabe übergebenen Variable zu finden. Zum Beispiel erhalten Sie bei einem String die Ausgabe <class 'str'>, für eine Liste <class 'list'>, usw.

Mit dem type()-Befehl können Sie ein einzelnes Argument übergeben, und der Rückgabewert wird der Klassentyp des Arguments sein, Beispiel: type(objekt).

Es ist auch möglich, drei Argumente an type() zu übergeben, also type(name, bases, dict); in diesem Fall gibt es ein neues Typobjekt zurück.

In diesem Tutorial lernen Sie:

Syntax für type():

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

type(objekt)
type(name, bases, dict)

Parameter: type(objekt)

Parameter: type(name, bases, dict)

Rückgabewert:

Wenn das Objekt der einzige an type() übergebene Parameter ist, gibt es den Typ des Objekts zurück.

Wenn die an type übergebenen Parameter ein type(Objekt, bases, dict) sind, gibt es in diesem Fall ein neues Typobjekt zurück.

Beispiel für type()

In diesem Beispiel haben wir einen String-Wert, eine Zahl, einen Float-Wert, eine komplexe Zahl, Liste, Tupel, Dict und Set. Wir verwenden die Variablen mit type, um die Ausgabe für jedes zu sehen.

str_liste = "Willkommen bei Guru99"
alter = 50
pi = 3.14
c_num = 3j+10
meine_liste = ["A", "B", "C", "D"]
mein_tupel = ("A", "B", "C", "D")
mein_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
mein_set = {'A', 'B', 'C', 'D'}

print("Der Typ ist : ", type(str_liste))
print("Der Typ ist : ", type(alter))
print("Der Typ ist : ", type(pi))
print("Der Typ ist : ", type(c_num))
print("Der Typ ist : ", type(meine_liste))
print("Der Typ ist : ", type(mein_tupel))
print("Der Typ ist : ", type(mein_dict))
print("Der Typ ist : ", type(mein_set))

Ausgabe:

Der Typ ist : <class 'str'>
Der Typ ist : <class 'int'>
Der Typ ist : <class 'float'>
Der Typ ist : <class 'complex'>
Der Typ ist : <class 'list'>
Der Typ ist : <class 'tuple'>
Der Typ ist : <class 'dict'>
Der Typ ist : <class 'set'>

Beispiel: type() für Klassenobjekte verwenden.

Wenn Sie das Objekt überprüfen, das aus einer Klasse mit type() erstellt wurde, gibt es den Klassentyp zusammen mit dem Klassennamen zurück. In diesem Beispiel erstellen wir eine Klasse und überprüfen den Objekttyp, der aus der Klasse test erstellt wurde.

class test:
    s = 'testing'

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

Ausgabe:

<class '__main__.test'>

Beispiel: name, bases und dict in type() verwenden

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, die eine Klassendefinition ausmachen. Der name repräsentiert den Klassennamen, bases ist die Basisklasse, und dict ist das Dictionary der Basisklassenattribute.

In diesem Beispiel werden wir alle drei Parameter, also name, bases und dict in type(), verwenden.

Beispiel:

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

t1 = type('NeueKlasse', (MeineKlasse,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))

Ausgabe:

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

Wenn Sie alle drei Argumente an type() übergeben, hilft es Ihnen, eine neue Klasse mit Basisklassenattributen zu initialisieren.

Was ist isinstance() in Python?

Python isinstance ist Teil der Python-Einbauffunktionen. Python isinstance() nimmt zwei Argumente entgegen und gibt true zurück, wenn das erste Argument eine Instanz des als zweites Argument gegebenen classinfo ist.

Syntax isinstance()

isinstance(objekt, klassetyp)

Parameter

Rückgabewert:

Es gibt true zurück, wenn das Objekt eine Instanz von klassetyp ist, und false, wenn nicht.

Beispiele für isinstance()

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

Beispiel: isinstance() Integer-Prüfung

Der folgende Code vergleicht den Integer-Wert 51 mit Typ int. Er gibt true zurück, wenn der Typ von 51 mit int übereinstimmt, sonst false.

alter = isinstance(51, int)
print("alter ist eine Ganzzahl:", alter)

Ausgabe:

alter ist eine Ganzzahl: True

Beispiel: isinstance() Float-Prüfung

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

pi = isinstance(3.14, float)
print("pi ist ein float:", pi)

Ausgabe:

pi ist ein float: True

Beispiel: isinstance() String-Prüfung

nachricht = isinstance("Hello World", str)
print("nachricht ist ein String:", nachricht)

Ausgabe:

nachricht ist ein String: True

Beispiel: isinstance() Tupel-Prüfung

Der Code prüft ein Tupel (1,2,3,4,5) mit Typ tuple. Er gibt true zurück, wenn die Eingabe vom Typ tuple ist, sonst false.

mein_tupel = isinstance((1,2,3,4,5), tuple)
print("mein_tupel ist ein Tupel:", mein_tupel)

Ausgabe:

mein_tupel ist ein Tupel: True

Beispiel: isinstance() Set-Prüfung

Der Code prüft ein Set ({1,2,3,4,5}) mit Typ set. Er gibt true zurück, wenn die Eingabe vom Typ set ist, sonst false.

mein_set = isinstance({1,2,3,4,5}, set)
print("mein_set ist ein Set:", mein_set)

Ausgabe:

mein_set ist ein Set: True

Beispiel: isinstance() Liste-Prüfung

Der Code prüft eine Liste [1,2,3,4,5] mit Typ list. Er gibt true zurück, wenn die Eingabe vom Typ list ist, sonst false.

meine_liste = isinstance([1,2,3,4,5], list)
print("meine_liste ist eine Liste:", meine_liste)

Ausgabe:

meine_liste ist eine Liste: True

Beispiel: isinstance() Dict-Prüfung

Der Code prüft ein Dict({"A":"a", "B":"b", "C":"c", "D":"d"}) mit Typ dict. Er gibt true zurück, wenn die Eingabe vom Typ dict ist, sonst false.

mein_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"}, dict)
print("mein_dict ist ein Dict:", mein_dict)

Ausgabe:

mein_dict ist ein Dict: True

Beispiel: isinstance() Test auf einer Klasse

Der Code zeigt die Typprüfung einer Klasse mit isinstance(). Das Objekt der Klasse wird mit dem Klassennamen innerhalb von isinstance() verglichen. Es gibt true zurück, wenn das Objekt zur Klasse gehört, sonst false.

class MeineKlasse:
    _nachricht = "Hello World"

_klasse = MeineKlasse()
print("_klasse ist eine Instanz von MeineKlasse(): ", isinstance(_klasse, MeineKlasse))

Ausgabe:

_klasse ist eine Instanz von MeineKlasse() True

Unterschied zwischen type() und isinstance() in Python

type() isinstance()
Python hat eine eingebaute Funktion namens type(), die hilft, den Klassentyp der als Eingabe gegebenen Variable zu finden. Python hat eine eingebaute Funktion namens isinstance(), die den Wert mit dem gegebenen Typ vergleicht. Wenn Wert und Typ übereinstimmen, gibt es true zurück, sonst false.
Der Rückgabewert ist ein Typobjekt. Der Rückgabewert ist ein Boolean, also true oder false.
class A:
    meine_listeA = [1,2,3]
class B(A):
    meine_listeB = [1,2,3]
print(type(A()) == A)
print(type(B()) == A)

Ausgabe:

True
False

Bei type gibt die Unterklassen-Prüfung false zurück.

class A:
    meine_listeA = [1,2,3]
class B(A):
    meine_listeB = [1,2,3]
print(isinstance(A(), A))
print(isinstance(B(), A))

Ausgabe:

True
True

isinstance() gibt einen truthy Wert zurück, wenn mit einer Unterklasse geprüft wird.

Zusammenfassung:

Python

  1. C# Ausdrücke, Anweisungen & Blöcke: Umfassender Leitfaden mit Beispielen
  2. Python-Typkonvertierung & Casting meistern: Umfassender Leitfaden
  3. Zahlen, Typkonvertierung und Mathematik in Python meistern
  4. Roboter mit Raspberry Pi und Python bauen: Komplette Anleitung
  5. Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
  6. Python format()-Strings meistern mit klaren Beispielen
  7. Pythons String.find()-Methode meistern: Syntax, Beispiele & Alternativen
  8. Python Lambda-Funktionen meistern: Praxisbeispiele & Best Practices
  9. Python round()-Funktion erklärt mit praktischen Beispielen
  10. Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices