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.
