Lewis Gaul <lewis.g...@gmail.com> added the comment:

> a dataclass can do anything a regular class can do

Agreed, but isn't that also true of any subclasses of currently supported 
types? In particular 'UserDict', 'UserList' and 'UserString', which all have 
explicit support in pprint and are intended for "easier subclassing" according 
to the docs.

I'm also not sure why it would be a reason for not giving it pprint handling 
(in the case where there's no user-defined __repr__). Is there any harm in 
doing so? 

I'd consider dataclasses one of the primary choices for storing data in modern 
Python (e.g. for converting to/from JSON/YAML), and may well be used for 
storing nested data, which can be very hard to read without some mechanism for 
pretty-printing.

Indeed, the dataclasses.asdict() function recurses into dataclass fields. This 
gives the option of pprint(dataclasses.asdict(my_dataclass)), but at the cost 
of losing the class names and any custom reprs.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue43080>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to