For those interested in this topic, if you are not already aware of it, see also http://bugs.python.org/issue25958, which among other things has a relevant proposed patch for datamode.rst.
On Tue, 07 Jun 2016 10:56:37 -0700, Guido van Rossum <gu...@python.org> wrote: > Setting it to None in the subclass is the intended pattern. But CPython > must explicitly handle that somewhere so I don't know how general it is > supported. Try defining a list subclass with __len__ set to None and see > what happens. Then try the same with MutableSequence. > > On Tue, Jun 7, 2016 at 10:37 AM, Ethan Furman <et...@stoneleaf.us> wrote: > > > For binary methods, such as __add__, either do not implement or return > > NotImplemented if the other operand/class is not supported. > > > > For non-binary methods, simply do not define. > > > > Except for subclasses when the super-class defines __hash__ and the > > subclass is not hashable -- then set __hash__ to None. > > > > Question: > > > > Are there any other methods that should be set to None to tell the > > run-time that the method is not supported? Or is this a general mechanism > > for subclasses to declare any method is unsupported? _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com