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 Variablen zu finden. Wenn die Eingabe beispielsweise ein String ist, erhalten Sie die Ausgabe als
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, d. h. type(name, bases, dict), in diesem Fall wird es Ihnen ein neues Typobjekt zurückgeben.
In diesem Tutorial lernen Sie:
- Was ist type() in Python?
- Syntax für type():
- Beispiel für type()
- Beispiel:Verwendung von type() für Klassenobjekte.
- Beispiel:Verwendung von name, bases und dict in type()
- Was ist isinstance() in Python?
- Syntax isinstance():
- Beispiele für isinstance()
- Unterschied zwischen type() und isinstance() in Python
Syntax für type():
type() kann wie unten gezeigt auf zwei Arten verwendet werden:
type(object) type(namr, bases, dict)
Parameter :Typ(Objekt)
- Objekt:Dies ist ein obligatorischer Parameter. Wenn dies nur ein Parameter ist, der an type() übergeben wird, dann wird es Ihnen den Typ des Parameters zurückgeben.
Parameter :type(name, bases, dict)
- name:Name der Klasse.
- Basen:(optional). Dies ist ein optionaler Parameter und die Basisklasse
- dict:(optional). Dies ist ein optionaler Parameter und ein Namensraum, der die Definition der Klasse enthält.
Rückgabewert:
Wenn das Objekt der einzige Parameter ist, der an type() übergeben wird, wird es Ihnen den Typ des Objekts zurückgeben.
Wenn der an type übergebene Parameter ein type(object, bases, dict) ist, wird in diesem Fall ein neuer Objekttyp zurückgegeben.
Beispiel für Typ()
In diesem Beispiel haben wir einen Zeichenfolgenwert, eine Zahl, einen Gleitkommawert, eine komplexe Zahl, eine Liste, ein Tupel, ein Diktat und eine Menge. Wir werden die Variablen mit Typ verwenden, um die Ausgabe für jede von ihnen zu sehen.
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))
Ausgabe:
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 Klassenobjekte.
Wenn Sie das aus einer Klasse erstellte Objekt mit type() überprüfen, gibt es den Klassentyp zusammen mit dem Namen der Klasse zurück. In diesem Beispiel erstellen wir eine Klasse und überprüfen den vom Klassentest erstellten Objekttyp.
class test: s = 'testing' t = test() print(type(t))
Ausgabe:
<class '__main__.test'>
Beispiel:Verwendung von name, bases und dict in type()
Der Typ kann auch mit folgender Syntax aufgerufen werden:type(name, bases, dict).
Die drei an type() übergebenen Parameter, d. h. name, bases und dict, sind die Komponenten, aus denen eine Klassendefinition besteht. Der Name stellt den Klassennamen dar, bases ist die Basisklasse und dict ist das Wörterbuch der Basisklassenattribute.
In diesem Beispiel verwenden wir alle drei Parameter, d. h. name, bases und dict in type().
Beispiel:
class MyClass: x = 'Hello World' y = 50 t1 = type('NewClass', (MyClass,), 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 in Python integrierten 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 istinstance()
isinstance(object, classtype)
Parameter
- Objekt:Ein Objekt, dessen Instanz Sie mit Klassentyp vergleichen. Es wird wahr zurückgegeben, wenn der Typ übereinstimmt, andernfalls falsch.
- Klassentyp:Ein Typ oder eine Klasse oder ein Tupel von Typen und/oder Klassen.
Rückgabewert:
Es wird wahr zurückgegeben, wenn das Objekt eine Instanz des Klassentyps ist, und falsch, wenn nicht.
Beispiele für isinstance()
In diesem Abschnitt werden wir verschiedene Beispiele untersuchen, um isinstance()
zu lernenBeispiel:isinstance() Ganzzahlprüfung
Der folgende Code vergleicht den ganzzahligen Wert 51 mit dem Typ int. Es wird true zurückgeben, wenn der Typ 51 entspricht, mit int, andernfalls false.
age = isinstance(51,int) print("age is an integer:", age)
Ausgabe:
age is an integer: True
Beispiel:isinstance() Float check
In diesem Beispiel werden wir den Float-Wert mit dem Typ Float vergleichen, d. h. der Wert 3.14 wird mit dem Typ Float verglichen.
pi = isinstance(3.14,float) print("pi is a float:", pi)
Ausgabe:
pi is a float: True
Beispiel:isinstance() Stringprüfung
message = isinstance("Hello World",str) print("message is a string:", message)
Ausgabe:
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 wahr zurückgegeben, wenn die angegebene Eingabe vom Typ Tupel ist, und falsch, wenn nicht.
my_tuple = isinstance((1,2,3,4,5),tuple) print("my_tuple is a tuple:", my_tuple)
Ausgabe:
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 angegebene Eingabe vom Typ set ist, und false, wenn nicht.
my_set = isinstance({1,2,3,4,5},set) print("my_set is a set:", my_set)
Ausgabe:
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 wahr zurückgegeben, wenn die angegebene Eingabe vom Typ Liste ist, und falsch, wenn nicht.
my_list = isinstance([1,2,3,4,5],list) print("my_list is a list:", my_list)
Ausgabe:
my_list is a list: True
Beispiel:isinstance() dict check
Der Code sucht nach einem dict({„A“:“a“, „B“:“b“, „C“:“c“, „D“:“d“}, mit dem Typ dict. Es wird true zurückgeben, wenn die gegebene Eingabe ist vom Typ dict und falsch, wenn nicht.
my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict) print("my_dict is a dict:", my_dict)
Ausgabe:
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))
Ausgabe:
_class is a instance of MyClass() True
Unterschied zwischen type() und isinstance() in Python
type() | isinstance() |
---|---|
Python hat eine eingebaute Funktion namens type(), die Ihnen hilft, den Klassentyp der als Eingabe angegebenen Variablen zu finden. | Python hat eine eingebaute Funktion namens isinstance(), die den Wert mit dem angegebenen Typ vergleicht. Wenn der angegebene Wert und Typ übereinstimmen, wird wahr zurückgegeben, andernfalls falsch. |
Der Rückgabewert ist ein Typobjekt | Der Rückgabewert ist ein boolescher Wert, d. h. 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) Ausgabe: True False Im Fall von type 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)) Ausgabe: True True isinstance() gibt einen wahren Wert, wenn es mit einer Unterklasse geprüft wird. |
Zusammenfassung:
- Python hat eine eingebaute Funktion namens type(), die Ihnen hilft, den Klassentyp der als Eingabe angegebenen Variablen zu finden. Wenn die Eingabe beispielsweise ein String ist, erhalten Sie die Ausgabe als
, für die Liste ist es 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, d. h. type(name, bases, dict), in diesem Fall wird es Ihnen ein neues Typobjekt zurückgeben.
- Python hat eine eingebaute Funktion namens instance(), die den Wert mit dem angegebenen Typ vergleicht. Wenn der angegebene Wert und Typ übereinstimmen, wird wahr zurückgegeben, andernfalls falsch. 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, Satz, Klasse usw. testen.
Python
- C#-Ausdrücke, -Anweisungen und -Blöcke (mit Beispielen)
- Python-Typkonvertierung und Typumwandlung
- Python-Zahlen, Typumwandlung und Mathematik
- Roboter bauen mit Raspberry Pi und Python
- Python String count() mit BEISPIELE
- Python String format() Erklären Sie mit BEISPIELE
- Python String find() Methode mit Beispielen
- Python-Lambda-Funktionen mit BEISPIELE
- Python-Funktion round() mit BEISPIELE
- Python map() Funktion mit BEISPIELE