Steven D'Aprano wrote: > On Wed, Oct 09, 2013 at 12:20:18PM +0200, Antoine Pitrou wrote: >> >> Hello, >> >> Just noticed the following quirk: >> >> >>> type.__subclasses__() >> Traceback (most recent call last): >> File "<stdin>", line 1, in <module> >> TypeError: descriptor '__subclasses__' of 'type' object needs an argument >> >> Yet it would be nice to know about the subclasses of type. > > py> type.__subclasses__(type) > [<class 'abc.ABCMeta'>, <class 'string._TemplateMetaclass'>] The underlying problem seems to be that there is no helper function to bypass the instance attribute. Compare: >>> class T(type): ... def __len__(self): return 0 ... >>> class A(metaclass=T): ... def __len__(self): return 1 ... >>> A.__len__() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: __len__() missing 1 required positional argument: 'self' >>> len(A) 0 So should there be a subclasses() function, in the operator module perhaps?
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4