Python
0
Вклад в тег
PyObject (файл object.h), в которой одно из полей — ob_type, указатель на структуру _typeobject, котоая определяет «настоящий» тип объекта. type(x) и дескриптор object.__class__ обращаются за типом к этому полю. Но __class__ можно переопределить, что и делает weakref.proxy. При этом type(x) все равно будет продолжать обращаться к ob_type и результат его определения подменить не удастся.