Comprehensive solution for read-only Python class attributes: clear syntax, no dependency on naming conventions