[Python-Dev] Proper way to specify that a method is not defined for a type

Ethan Furman ethan at stoneleaf.us
Tue Jun 7 13:37:58 EDT 2016


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?

--
~Ethan~


More information about the Python-Dev mailing list