Skip to content

Commit 63c2362

Browse files
committed
Improving the repr of dataclasses.Field and dataclasses._DataclassParams
1 parent 089a324 commit 63c2362

File tree

2 files changed

+32
-32
lines changed

2 files changed

+32
-32
lines changed

Lib/dataclasses.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -311,17 +311,17 @@ def __init__(self, default, default_factory, init, repr, hash, compare,
311311
@recursive_repr()
312312
def __repr__(self):
313313
return ('Field('
314-
f'name={self.name!r},'
315-
f'type={self.type!r},'
316-
f'default={self.default!r},'
317-
f'default_factory={self.default_factory!r},'
318-
f'init={self.init!r},'
319-
f'repr={self.repr!r},'
320-
f'hash={self.hash!r},'
321-
f'compare={self.compare!r},'
322-
f'metadata={self.metadata!r},'
323-
f'kw_only={self.kw_only!r},'
324-
f'doc={self.doc!r},'
314+
f'name={self.name!r}, '
315+
f'type={self.type!r}, '
316+
f'default={self.default!r}, '
317+
f'default_factory={self.default_factory!r}, '
318+
f'init={self.init!r}, '
319+
f'repr={self.repr!r}, '
320+
f'hash={self.hash!r}, '
321+
f'compare={self.compare!r}, '
322+
f'metadata={self.metadata!r}, '
323+
f'kw_only={self.kw_only!r}, '
324+
f'doc={self.doc!r}, '
325325
f'_field_type={self._field_type}'
326326
')')
327327

@@ -372,15 +372,15 @@ def __init__(self,
372372

373373
def __repr__(self):
374374
return ('_DataclassParams('
375-
f'init={self.init!r},'
376-
f'repr={self.repr!r},'
377-
f'eq={self.eq!r},'
378-
f'order={self.order!r},'
379-
f'unsafe_hash={self.unsafe_hash!r},'
380-
f'frozen={self.frozen!r},'
381-
f'match_args={self.match_args!r},'
382-
f'kw_only={self.kw_only!r},'
383-
f'slots={self.slots!r},'
375+
f'init={self.init!r}, '
376+
f'repr={self.repr!r}, '
377+
f'eq={self.eq!r}, '
378+
f'order={self.order!r}, '
379+
f'unsafe_hash={self.unsafe_hash!r}, '
380+
f'frozen={self.frozen!r}, '
381+
f'match_args={self.match_args!r}, '
382+
f'kw_only={self.kw_only!r}, '
383+
f'slots={self.slots!r}, '
384384
f'weakref_slot={self.weakref_slot!r}'
385385
')')
386386

Lib/test/test_dataclasses/__init__.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,12 @@ def test_field_repr(self):
6868
int_field = field(default=1, init=True, repr=False, doc='Docstring')
6969
int_field.name = "id"
7070
repr_output = repr(int_field)
71-
expected_output = "Field(name='id',type=None," \
72-
f"default=1,default_factory={MISSING!r}," \
73-
"init=True,repr=False,hash=None," \
74-
"compare=True,metadata=mappingproxy({})," \
75-
f"kw_only={MISSING!r}," \
76-
"doc='Docstring'," \
71+
expected_output = "Field(name='id', type=None, " \
72+
f"default=1, default_factory={MISSING!r}, " \
73+
"init=True, repr=False, hash=None, " \
74+
"compare=True, metadata=mappingproxy({}), " \
75+
f"kw_only={MISSING!r}, " \
76+
"doc='Docstring', " \
7777
"_field_type=None)"
7878

7979
self.assertEqual(repr_output, expected_output)
@@ -84,7 +84,7 @@ def test_field_recursive_repr(self):
8484
rec_field.name = "id"
8585
repr_output = repr(rec_field)
8686

87-
self.assertIn(",type=...,", repr_output)
87+
self.assertIn(", type=..., ", repr_output)
8888

8989
def test_recursive_annotation(self):
9090
class C:
@@ -94,7 +94,7 @@ class C:
9494
class D:
9595
C: C = field()
9696

97-
self.assertIn(",type=...,", repr(D.__dataclass_fields__["C"]))
97+
self.assertIn(", type=..., ", repr(D.__dataclass_fields__["C"]))
9898

9999
def test_dataclass_params_repr(self):
100100
# Even though this is testing an internal implementation detail,
@@ -104,10 +104,10 @@ def test_dataclass_params_repr(self):
104104
class Some: pass
105105

106106
repr_output = repr(Some.__dataclass_params__)
107-
expected_output = "_DataclassParams(init=True,repr=True," \
108-
"eq=True,order=False,unsafe_hash=False,frozen=True," \
109-
"match_args=True,kw_only=False," \
110-
"slots=True,weakref_slot=False)"
107+
expected_output = "_DataclassParams(init=True, repr=True, " \
108+
"eq=True, order=False, unsafe_hash=False, frozen=True, " \
109+
"match_args=True, kw_only=False, " \
110+
"slots=True, weakref_slot=False)"
111111
self.assertEqual(repr_output, expected_output)
112112

113113
def test_dataclass_params_signature(self):

0 commit comments

Comments
 (0)