Die Funktion type () gibt entweder den Typ des Objekts zurück oder gibt basierend auf den übergebenen Argumenten ein neues Typobjekt zurück.
Die type()
Funktion hat zwei verschiedene Formen:
Typ (Objekt) Typ (Name, Basen, Diktat)
type () Mit einem einzelnen Objektparameter
Wenn ein einzelnes Objekt übergeben wird type()
, gibt die Funktion ihren Typ zurück.
Beispiel 1: Typ eines Objekts abrufen
numbers_list = (1, 2) print(type(numbers_list)) numbers_dict = (1: 'one', 2: 'two') print(type(numbers_dict)) class Foo: a = 0 foo = Foo() print(type(foo))
Ausgabe
Wenn Sie den Typ eines Objekts überprüfen müssen, ist es besser, stattdessen die Funktion Python isinstance () zu verwenden. Dies liegt daran, dass die isinstance()
Funktion auch prüft, ob das angegebene Objekt eine Instanz der Unterklasse ist.
type () Mit Namen, Basen und Diktatparametern
Wenn drei Parameter übergeben werden type()
, gibt es einen neuen Typ Objekt.
Die drei Parameter sind:
Parameter | Beschreibung |
---|---|
Name | ein Klassenname; wird zum __name__ Attribut |
Basen | ein Tupel, das die Basisklasse auflistet; wird zum __bases__ Attribut |
diktieren | ein Wörterbuch, das der Namespace ist, der Definitionen für den Klassenkörper enthält; wird zum __dict__ Attribut |
Beispiel 2: Erstellen Sie ein Typobjekt
o1 = type('X', (object,), dict(a='Foo', b=12)) print(type(o1)) print(vars(o1)) class test: a = 'Foo' b = 12 o2 = type('Y', (test,), dict(a='Foo', b=12)) print(type(o2)) print(vars(o2))
Ausgabe
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__' :, '__weakref__' :, '__doc__': Keine) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': Keine)
Im Programm haben wir die Python vars () -Funktion verwendet, die das __dict__
Attribut zurückgibt . __dict__
wird verwendet, um die beschreibbaren Attribute des Objekts zu speichern.
Sie können diese Attribute bei Bedarf einfach ändern. Wenn Sie beispielsweise das __name__
Attribut von o1 in ändern müssen 'Z'
, verwenden Sie:
o1 .__ name = 'Z'