Funkcia type () buď vráti typ objektu, alebo vráti nový objekt typu na základe odovzdaných argumentov.
type()
Funkcia má dve rôzne formy:
typ (objekt) typ (meno, základy, diktát)
type () S parametrom jedného objektu
Ak je odovzdaný jeden objekt type()
, funkcia vráti svoj typ.
Príklad 1: Získajte 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ýkon
Ak potrebujete skontrolovať typ objektu, je lepšie použiť namiesto toho funkciu Python isinstance (). Je to preto, že isinstance()
funkcia tiež kontroluje, či je daný objekt inštanciou podtriedy.
type () S menom, základmi a diktovanými parametrami
Ak sú odovzdané tri parametre type()
, vráti nový objekt typu .
Tri parametre sú:
Parameter | Popis |
---|---|
názov | názov triedy; sa stáva __name__ atribútom |
základne | n-tica, ktorá rozpisuje základnú triedu; sa stáva __bases__ atribútom |
diktát | slovník, ktorý je menným priestorom obsahujúcim definície pre telo triedy; sa stáva __dict__ atribútom |
Príklad 2: Vytvorte objekt typu
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ýkon
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': None) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': žiadny)
V programe sme použili funkciu Python vars (), ktorá vracia __dict__
atribút. __dict__
sa používa na ukladanie zapisovateľných atribútov objektu.
V prípade potreby môžete tieto atribúty ľahko zmeniť. Napríklad ak potrebujete zmeniť __name__
atribút o1 na 'Z'
, použite:
o1 .__ name = 'Z'