Python type()-Funktion
Beschreibung
Die type()-Funktion gibt den Typ des Objekts zurück, wenn Sie nur den ersten Parameter übergeben, und gibt mit drei Parametern ein neues Typobjekt zurück.
Unterschied zwischen isinstance() und type():
type() betrachtet eine Unterklasse nicht als Oberklassentyp; die Vererbung wird nicht berücksichtigt.
isinstance() betrachtet eine Unterklasse als Oberklassentyp; die Vererbung wird berücksichtigt.
Wenn Sie feststellen möchten, ob zwei Typen identisch sind, wird isinstance() empfohlen.
Syntax
Das Folgende ist die Syntax der Methode type():
type(object) type(name, bases, dict)
Parameters
- name -- Der Name der Klasse.
- bases -- Ein Tupel von Basisklassen.
- dict -- Ein Dictionary, die im Namensraum der Klasse definierten Variablen.
Rückgabewert
Mit einem Parameter gibt es den Objekttyp zurück; mit drei Parametern gibt es ein neues Typobjekt zurück.
Beispiele
Das Folgende zeigt Beispiele für die Verwendung der Funktion type():
# Beispiel mit einem Parameter
>>> type(1)
<type 'int'>
>>> type('Beispiel')
<type 'str'>
>>> type([2])
<type 'list'>
>>> type({0:'zero'})
<type 'dict'>
>>> x = 1
>>> type( x ) == int # Prüfen, ob die Typen gleich sind
True
# Drei Parameter
>>> class X(object):
... a = 1
...
>>> X = type('X', (object,), dict(a=1)) # Einen neuen Typ X erstellen
>>> X
<class '__main__.X'>
Unterschied zwischen type() und isinstance():
class A:
pass
class B(A):
pass
isinstance(A(), A) # gibt True zurück
type(A()) == A # gibt True zurück
isinstance(B(), A) # gibt True zurück
type(B()) == A # gibt False zurück
Python Built-in-Funktionen