Funcția type () fie returnează tipul obiectului, fie returnează un nou obiect de tip pe baza argumentelor transmise.
type()
Funcția are două forme diferite:
tip (obiect) tip (nume, baze, dict)
type () Cu un singur parametru de obiect
Dacă este trecut un singur obiect type()
, funcția își returnează tipul.
Exemplul 1: Obțineți tipul unui obiect
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))
Ieșire
Dacă trebuie să verificați tipul unui obiect, este mai bine să utilizați funcția Python isinstance (). Acest lucru se datorează faptului că isinstance()
funcția verifică și dacă obiectul dat este o instanță a subclasei.
type () Cu nume, baze și dict Parametri
Dacă sunt trecuți trei parametri type()
, acesta returnează un obiect de tip nou .
Cei trei parametri sunt:
Parametru | Descriere |
---|---|
Nume | un nume de clasă; devine __name__ atributul |
baze | un tuplu care detaliază clasa de bază; devine __bases__ atributul |
dict | un dicționar care este spațiul de nume care conține definiții pentru corpul clasei; devine __dict__ atributul |
Exemplul 2: Creați un obiect de tip
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))
Ieșire
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': Niciuna) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': Niciuna)
În program, am folosit funcția Python vars () care returnează __dict__
atributul. __dict__
este folosit pentru a stoca atributele care se pot scrie.
Puteți schimba cu ușurință aceste atribute, dacă este necesar. De exemplu, dacă trebuie să schimbați __name__
atributul lui o1 în 'Z'
, utilizați:
o1 .__ nume = 'Z'