Pythontype ()

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'

Interessante artikler...