Skip to content Skip to sidebar Skip to footer

Class Decorator Compatible For Mypy

Say I have the following simple example without any typehints: def wrapper(cls): class Subclass(cls): def subclass_method(self): pass return Subclass

Solution 1:

This would be much simpler without the wrapper at all.

classSomeMixin:
    defsubclass_method(self):
        passclassParent(SomeMixin):
    defparent_method(self):
        pass


p = Parent()
p.parent_method()
p.subclass_method()

Here, you define SomeMixinonce, not once per call to a wrapper, and the class SomeMixin is known statically. All the various classes with the name Subclass are created dynamically, and mypy can't know statically which class the name Parent is actually bound to.

Post a Comment for "Class Decorator Compatible For Mypy"