title: Python dataclasses
lang: en

> Data classes are one of the new features of Python 3.7. With data classes, you do not have to write boilerplate code to get proper initialization, representation, and comparisons for your objects. 
> 
> <cite>*[The Ultimate Guide to Data Classes in Python 3.7](https://realpython.com/python-data-classes/)* ([cache](/david/cache/5f2992bab473b7241612da3c785dcb4a/))</cite>

New product, great occasion to test new features given their pertinence. If you have that opportunity, be aware that [cross-references are still not dealt with](https://www.python.org/dev/peps/pep-0484/#the-problem-of-forward-declarations) but their [postponed evaluation is accepted](https://www.python.org/dev/peps/pep-0563/). Which means that it is only a matter of time before we can self reference an annotation, like for a `classmethod` for instance. Anyway, it’s great to have a [backport of that feature](https://github.com/ericvsmith/dataclasses) for Python 3.6!

*Note: [mypy](http://mypy.readthedocs.io/en/latest/) accepts cross-references as raw chain of characters: `-> 'Articles'`.*