Funkcja type () zwraca typ obiektu lub zwraca nowy obiekt typu na podstawie przekazanych argumentów.
type()
Funkcji dwóch różnych formach:
type (object) type (name, bases, dict)
type () Z parametrem pojedynczego obiektu
Jeśli przekazywany jest pojedynczy obiekt type()
, funkcja zwraca jego typ.
Przykład 1: Pobierz typ obiektu
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))
Wynik
Jeśli chcesz sprawdzić typ obiektu, lepiej zamiast tego użyć funkcji isinstance () w języku Python. Dzieje się tak, ponieważ isinstance()
funkcja sprawdza również, czy dany obiekt jest instancją podklasy.
type () Z nazwą, podstawami i parametrami dict
Jeśli przekazane są trzy parametry type()
, zwraca nowy obiekt typu .
Te trzy parametry to:
Parametr | Opis |
---|---|
Nazwa | nazwa klasy; staje się __name__ atrybutem |
podstawy | krotka, która wyszczególnia klasę bazową; staje się __bases__ atrybutem |
dykt | słownik będący przestrzenią nazw zawierającą definicje treści klasy; staje się __dict__ atrybutem |
Przykład 2: Utwórz obiekt tekstowy
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))
Wynik
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': Brak) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': Brak)
W programie wykorzystaliśmy funkcję vars () Pythona, która zwraca __dict__
atrybut. __dict__
jest używany do przechowywania zapisywalnych atrybutów obiektu.
W razie potrzeby możesz łatwo zmienić te atrybuty. Na przykład, jeśli chcesz zmienić __name__
atrybut o1 na 'Z'
, użyj:
o1 .__ name = 'Z'