Funkcija type () vai nu atgriež objekta tipu, vai atgriež jauna veida objektu, pamatojoties uz nodotajiem argumentiem.
type()
Funkcija ir divas dažādas formas:
tips (objekts) tips (nosaukums, bāzes, diktāts)
tips () Ar viena objekta parametru
Ja tiek nodots viens objekts type()
, funkcija atgriež tā tipu.
1. piemērs: Iegūstiet objekta tipu
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))
Rezultāts
Ja jums jāpārbauda objekta tips, labāk tā vietā izmantot funkciju Python isinstance (). Tas ir tāpēc, ka isinstance()
funkcija arī pārbauda, vai dotais objekts ir apakšklases gadījums.
tips () Ar nosaukumu, bāzēm un diktētajiem parametriem
Ja tiek nodoti trīs parametri type()
, tas atgriež jauna veida objektu.
Trīs parametri ir:
Parametrs | Apraksts |
---|---|
nosaukums | klases nosaukums; kļūst par __name__ atribūtu |
bāzes | korpuss, kas norāda pamatklasi; kļūst par __bases__ atribūtu |
diktēt | vārdnīca, kas ir nosaukumvieta, kurā ir definīcijas klases ķermenim; kļūst par __dict__ atribūtu |
2. piemērs: izveidojiet tipa objektu
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))
Rezultāts
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': Nav) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': nav)
Programmā mēs izmantojām funkciju Python vars (), kas atgriež __dict__
atribūtu. __dict__
tiek izmantots objekta rakstāmo atribūtu glabāšanai.
Vajadzības gadījumā šos atribūtus varat viegli mainīt. Piemēram, ja jums jāmaina __name__
atribūts o1 uz 'Z'
, izmantojiet:
o1 .__ nosaukums = 'Z'