2016-07-29 16 views

Odpowiedz

3

type nie zachowuje się inaczej. Po prostu zmienili elementy, więc wszystkie klasy pojawiają się jako <class ...> zamiast <type ...>, niezależnie od tego, czy klasa jest wbudowanym typem, takim jak int, czy też klasą utworzoną za pomocą instrukcji class. Jest to jeden z ostatnich kroków eliminacji rozróżnienia klas i typów, który rozpoczął się w wersji 2.2.

+0

dzięki @ user2357112 –

7

W dawnych czasach, wbudowanych typów, takich jak int i dict i list różniły się od typów zbudowanych z class. Na przykład nie można tworzyć klas wbudowanych podklas.

Stopniowo, w kolejnych wydaniach Pythona 2.x różnice między typami i wbudowanymi typami class uległy erozji; wprowadzenie nowych klas w stylu (dziedziczenie z object) w Pythonie 2.2 było jednym z takich (głównych) kroków. Zobacz Unifying types and classes in Python 2.2.

Usunięcie użycia type w wbudowanych reprezentacjach typów jest tylko ostatnim krokiem w tym procesie. Nie było już powodu, aby używać nazwy type.

Innymi słowy, między Pythonem 2.7 i 3.x jest to zmiana kosmetyczna nic więcej.

Powiązane problemy