Hello everybody!
In a personnal project I feel the need (or the desire) to implement something
like this:
assert isinstance(1, PositiveInteger)
assert not isinstance(-1, PositiveInteger)
So I began looking a lot in the abc module, and I end unp using an
__instancehook__ special method wich is called by __instancechek__ in the
corresponding metaclass, just like the __subclasshook__ special method called
by __subclasscheck__.
The core idea is something like this:
class MyMeta(type):
def __instancecheck__(cls, instance):
return cls.__instancehook__(instance)
class PositiveInteger(metaclass=MyMeta):
@classmethod
def __instancehook__(cls, instance):
return isinstance(instance, int) and instance > 0
Of course, the real implemention is more detailed...
What do you think about that ?_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/