Making Classes Subclassable
Ian Kelly
ian.g.kelly at gmail.com
Tue Jul 5 10:41:44 EDT 2016
On Tue, Jul 5, 2016 at 2:31 AM, Steven D'Aprano
<steve+comp.lang.python at pearwood.info> wrote:
> On Monday 04 July 2016 18:34, Lawrence D’Oliveiro wrote:
>
>> On Monday, July 4, 2016 at 7:58:07 PM UTC+12, dieter wrote:
>>> --> "type(obj)" or "obj.__class__" (there are small differences)
>>> give you the type/class of "obj".
>>
>> When would it not be the same?
>
>
> class X(object):
> def __getattribute__(self, name):
> if __name__ == '__class__':
> return int
> return super().__getattribute__(name)
Did you actually test that?
py> class X(object):
... def __getattribute__(self, name):
... if __name__ == '__class__':
... return int
... return super().__getattribute__(name)
...
py> x = X()
py> x.__class__
<class '__main__.X'>
Certain attributes like __class__ and __dict__ are special.
More information about the Python-list
mailing list