Pythontyp ()

Funktionen type () returnerar antingen objekttypen eller returnerar ett nytt typobjekt baserat på de skickade argumenten.

Den type()funktionen har två olika former:

 typ (objekt) typ (namn, baser, dict)

typ () med en enda objektparameter

Om ett enda objekt skickas till type()returnerar funktionen sin typ.

Exempel 1: Hämta typ av ett 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

 

Om du behöver kontrollera typen av ett objekt är det bättre att använda Python isinstance () -funktionen istället. Det beror på att isinstance()funktionen också kontrollerar om det angivna objektet är en förekomst av underklassen.

typ () Med namn, baser och dikt Parametrar

Om tre parametrar skickas till type()returneras en ny typ objekt.

De tre parametrarna är:

Parameter Beskrivning
namn ett klassnamn; blir __name__attributet
baser en tuple som specificerar basklassen; blir __bases__attributet
diktera en ordbok som är namnområdet som innehåller definitioner för klassens kropp; blir __dict__attributet

Exempel 2: Skapa ett typobjekt

 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 använt Python vars () -funktionen som returnerar __dict__attributet. __dict__används för att lagra objekts skrivbara attribut.

Du kan enkelt ändra dessa attribut om det behövs. Om du till exempel behöver ändra __name__attributet för o1 till 'Z', använd:

 o1 .__ namn = 'Z'

Intressanta artiklar...