Typ Pythonu ()

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'

Zajímavé články...