Funktionen type () returnerer enten objekttypen eller returnerer et nyt typeobjekt baseret på de argumenter, der er sendt.
Den type()
funktion har to forskellige former:
type (objekt) type (navn, baser, dict)
type () Med en enkelt objektparameter
Hvis et enkelt objekt sendes til type()
, returnerer funktionen sin type.
Eksempel 1: Hent type af et objekt
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))
Produktion
Hvis du har brug for at kontrollere typen af et objekt, er det bedre at bruge Python isinstance () -funktionen i stedet. Det er fordi isinstance()
funktionen også kontrollerer, om det givne objekt er en forekomst af underklassen.
type () Med navn, baser og dikter Parametre
Hvis tre parametre er gået til type()
, den returnerer en ny form objekt.
De tre parametre er:
Parameter | Beskrivelse |
---|---|
navn | et holdnavn bliver __name__ attributten |
baser | en tuple, der specificerer basisklassen; bliver __bases__ attributten |
diktere | en ordbog, der er navneområdet, der indeholder definitioner for klassens krop; bliver __dict__ attributten |
Eksempel 2: Opret et typeobjekt
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))
Produktion
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': Ingen) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': Ingen)
I programmet har vi brugt Python vars () -funktionen, som returnerer __dict__
attributten. __dict__
bruges til at gemme objekts skrivbare attributter.
Du kan nemt ændre disse attributter, hvis det er nødvendigt. For eksempel, hvis du har brug for at ændre __name__
attributten for o1 til 'Z'
, skal du bruge:
o1 .__ navn = 'Z'