Funktsioon type () tagastab kas objekti tüübi või tagastab edastatud argumentide põhjal uue tüüpi objekti.
type()
Funktsioon on kaks eri vormides:
type (objekti) tüüp (nimi, alused, dict)
type () ühe objekti parameetriga
Üksiku objekti edastamise type()
korral tagastab funktsioon oma tüübi.
Näide 1: saada objekti tüüp
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äljund
Kui peate kontrollima objekti tüüpi, on parem kasutada selle asemel funktsiooni Python isinstance (). Sellepärast, et isinstance()
funktsioon kontrollib ka seda, kas antud objekt on alamklassi eksemplar.
type () koos nime, aluste ja dikteeritud parameetritega
Kui edastatakse kolm parameetrit type()
, tagastab see uut tüüpi objekti.
Kolm parameetrit on:
Parameeter | Kirjeldus |
---|---|
nimi | klassi nimi; saab __name__ atribuudiks |
alused | tup, mis nimetab põhiklassi; saab __bases__ atribuudiks |
dikteerima | sõnastik, mis on klassiruumi määratlusi sisaldav nimeruum; saab __dict__ atribuudiks |
Näide 2: Tüüpobjekti loomine
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äljund
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': Puudub) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': pole)
Programmis oleme kasutanud funktsiooni Python vars (), mis tagastab __dict__
atribuudi. __dict__
kasutatakse objekti kirjutatavate atribuutide salvestamiseks.
Vajadusel saate neid atribuute hõlpsasti muuta. Näiteks kui peate muutma __name__
o1 atribuudi väärtuseks 'Z'
, kasutage:
o1 .__ nimi = 'Z'