aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/functools.py
diff options
context:
space:
mode:
authorBénédikt Tran <10796600+picnixz@users.noreply.github.com>2024-06-26 11:08:27 +0200
committerGitHub <noreply@github.com>2024-06-26 12:08:27 +0300
commitd2646e3f45e3e4e831ee2ae84d55b161a361d592 (patch)
tree77cf53bcefa5911c481de9c6234a50aff7fc8d3f /Lib/functools.py
parentd8f82432a36178a2376cc2d0984b02bb03f6d55f (diff)
downloadcpython-d2646e3f45e3e4e831ee2ae84d55b161a361d592.tar.gz
cpython-d2646e3f45e3e4e831ee2ae84d55b161a361d592.zip
gh-121025: Improve partialmethod.__repr__ (GH-121033)
It no longer contains redundant commas and spaces.
Diffstat (limited to 'Lib/functools.py')
-rw-r--r--Lib/functools.py16
1 files changed, 7 insertions, 9 deletions
diff --git a/Lib/functools.py b/Lib/functools.py
index a80e1a6c6a5..3d0fd6671fb 100644
--- a/Lib/functools.py
+++ b/Lib/functools.py
@@ -373,15 +373,13 @@ class partialmethod(object):
self.keywords = keywords
def __repr__(self):
- args = ", ".join(map(repr, self.args))
- keywords = ", ".join("{}={!r}".format(k, v)
- for k, v in self.keywords.items())
- format_string = "{module}.{cls}({func}, {args}, {keywords})"
- return format_string.format(module=self.__class__.__module__,
- cls=self.__class__.__qualname__,
- func=self.func,
- args=args,
- keywords=keywords)
+ cls = type(self)
+ module = cls.__module__
+ qualname = cls.__qualname__
+ args = [repr(self.func)]
+ args.extend(map(repr, self.args))
+ args.extend(f"{k}={v!r}" for k, v in self.keywords.items())
+ return f"{module}.{qualname}({', '.join(args)})"
def _make_unbound_method(self):
def _method(cls_or_self, /, *args, **keywords):