I would like to have an abstract class in which I will have an abstract property. So I used Pycharm in order to create an abstract (base) class:
import abc class BaseSomeAbstract(abc.ABC): _abs_prop = None @property @abc.abstractmethod def abs_prop(self): return self._abs_prop @abs_prop.setter @abc.abstractmethod def abs_prop(self, value): self._abs_prop = value Now I have created a new file and a new class: from subclassing.abstract.BaseSomeAbstract import BaseSomeAbstract class ChildSomeAbstract(BaseSomeAbstract): Now I pressed alt+enter, implement abstract methods. I got only a single choice abs_prop(self: BaseSomeAbstract). If I choose this option, my subclass looks like this: from subclassing.abstract.BaseSomeAbstract import BaseSomeAbstract class ChildSomeAbstract(BaseSomeAbstract): @property def abs_prop(self): pass Why Pycharm didn't offer a setter as well as getter? What is the propper way to define an abstract property, and how to force subclass to define setter and getter for the abstract property? -- https://mail.python.org/mailman/listinfo/python-list