This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author rzepecki.t
Recipients rzepecki.t
Date 2021-08-12.23:48:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1628812109.02.0.042736265222.issue44905@roundup.psfhosted.org>
In-reply-to
Content
There seems to be no way to transparently make an abstract base class enforce instance attributes for subclasses (without creating a custom metaclass, see e.g. https://newbedev.com/python-abstract-class-shall-force-derived-classes-to-initialize-variable-in-init).

The analogous problem for enforcing *class* attributes in subclasses can be solved by creating an abstract class property (which can then be overridden by a class attribute), but this feels like a hack and possibly a bug (see https://bugs.python.org/issue44904 for a related bug).

The corresponding "solution" for instance attributes does not work (see attached file), and probably rightly so.

This seems like an oversight to me.
History
Date User Action Args
2021-08-12 23:48:29rzepecki.tsetrecipients: + rzepecki.t
2021-08-12 23:48:29rzepecki.tsetmessageid: <1628812109.02.0.042736265222.issue44905@roundup.psfhosted.org>
2021-08-12 23:48:29rzepecki.tlinkissue44905 messages
2021-08-12 23:48:28rzepecki.tcreate