-
-
Notifications
You must be signed in to change notification settings - Fork 33.2k
Closed
Labels
Description
Bug report
Bug description:
The first argument of the new __replace__ method on dataclasses is conspicuously named obj rather than self. While that's not a bug, it would be kinder on introspection tools to use self, since it is otherwise a regular instance method.
>>> import dataclasses, inspect, pprint
>>> @dataclasses.dataclass
... class Foo:
... x: int
...
>>> pprint.pprint({n:inspect.signature(f) for n, f in inspect.getmembers(Foo, inspect.isfunction)})
{'__eq__': <Signature (self, other)>,
'__init__': <Signature (self, x: int) -> None>,
'__replace__': <Signature (obj, /, **changes)>,
'__repr__': <Signature (self)>}__replace__ was added in #108752
CPython versions tested on:
3.13
Operating systems tested on:
macOS