De functie type () retourneert het type van het object of retourneert een nieuw type object op basis van de doorgegeven argumenten.
De type()
functie heeft twee verschillende vormen:
type (object) type (naam, bases, dict)
type () Met een Single Object Parameter
Als een enkel object wordt doorgegeven type()
, geeft de functie het type terug.
Voorbeeld 1: type object ophalen
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))
Uitvoer
Als u het type van een object moet controleren, is het beter om in plaats daarvan de Python isinstance () -functie te gebruiken. Dit komt doordat de isinstance()
functie ook controleert of het opgegeven object een instantie van de subklasse is.
type () Met naam, bases en dict Parameters
Als er drie parameters worden doorgegeven type()
, wordt een nieuw typeobject geretourneerd .
De drie parameters zijn:
Parameter | Omschrijving |
---|---|
naam | een klassenaam; wordt het __name__ attribuut |
bases | een tupel dat de basisklasse specificeert; wordt het __bases__ attribuut |
dict | een woordenboek dat de naamruimte is met definities voor de hoofdtekst van de klasse; wordt het __dict__ attribuut |
Voorbeeld 2: maak een type-object
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))
Uitvoer
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': None) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': Geen)
In het programma hebben we de Python vars () functie gebruikt die het __dict__
attribuut teruggeeft . __dict__
wordt gebruikt om de beschrijfbare attributen van een object op te slaan.
U kunt deze attributen indien nodig gemakkelijk wijzigen. Als u bijvoorbeeld het __name__
attribuut van o1 moet wijzigen in 'Z'
, gebruikt u:
o1 .__ naam = 'Z'