Funkce type () buď vrací typ objektu, nebo vrací nový objekt typu na základě předaných argumentů.
type()
Funkce má dvě různé formy:
typ (objekt) typ (název, základy, diktát)
type () S parametrem jednoho objektu
Pokud je předán jeden objekt type()
, funkce vrátí svůj typ.
Příklad 1: Získat typ objektu
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))
Výstup
Pokud potřebujete zkontrolovat typ objektu, je lepší místo toho použít funkci Python isinstance (). Je to proto, že isinstance()
funkce také kontroluje, zda je daný objekt instancí podtřídy.
type () S názvem, základnami a diktovanými parametry
Pokud jsou předány tři parametry type()
, vrátí nový typ objektu.
Tři parametry jsou:
Parametr | Popis |
---|---|
název | název třídy; se stává __name__ atributem |
základny | n-tice, která rozpisuje základní třídu; se stává __bases__ atributem |
diktát | slovník, který je jmenným prostorem obsahujícím definice těla třídy; se stává __dict__ atributem |
Příklad 2: Vytvořte typový objekt
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))
Výstup
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': None) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': None)
V programu jsme použili funkci Python vars (), která vrací __dict__
atribut. __dict__
se používá k ukládání zapisovatelných atributů objektu.
V případě potřeby můžete tyto atributy snadno změnit. Například pokud potřebujete změnit __name__
atribut o1 na 'Z'
, použijte:
o1 .__ name = 'Z'