Type of an object:
Ethan Furman
ethan at stoneleaf.us
Tue Dec 17 09:50:29 EST 2013
On 12/17/2013 02:35 AM, Gregory Ewing wrote:
> Steven D'Aprano wrote:
>> I think I need to see an actual working demonstration, because as far as I can see, type(obj) returns obj.__class__.
>
> Nope:
>
>>>> class C(object):
> ... def f(self):
> ... return "Surprise!"
> ... __class__ = property(f)
> ...
>>>> c = C()
>>>> type(c)
> <class '__main__.C'>
>>>> c.__class__
> 'Surprise!'
I believe the proxying info comes into play with __class__.__name__:
--> class Test:
... pass
...
--> t = Test()
--> type(t)
<class '__main__.Test'>
--> t.__class__
<class '__main__.Test'>
--> t.__class__.__name__
'Test'
--> t.__class__.__name__ = 'some_proxy'
--> t.__class__.__name__
'some_proxy'
--
~Ethan~
More information about the Python-list
mailing list