diff options
author | Antony Lee <anntzer.lee@gmail.com> | 2021-09-24 15:22:49 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-24 15:22:49 (GMT) |
commit | 6587fc60d447603fb8c631d81d9bb379f53c39ab (patch) | |
tree | c52c3172f8845e2cb51eed4338436c9e6f58965a /Lib/operator.py | |
parent | 8d8729146f21f61af66e70d3ae9501ea6bdccd09 (diff) | |
download | cpython-6587fc60d447603fb8c631d81d9bb379f53c39ab.zip cpython-6587fc60d447603fb8c631d81d9bb379f53c39ab.tar.gz cpython-6587fc60d447603fb8c631d81d9bb379f53c39ab.tar.bz2 |
bpo-44019: Implement operator.call(). (GH-27888)
Having `operator.call(obj, arg)` mean `type(obj).__call__(obj, arg)` is
consistent with the other dunder operators. The semantics with `*args,
**kwargs` then follow naturally from the single-arg semantics.
Diffstat (limited to 'Lib/operator.py')
-rw-r--r-- | Lib/operator.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Lib/operator.py b/Lib/operator.py index 241fdbb..72105be 100644 --- a/Lib/operator.py +++ b/Lib/operator.py @@ -221,6 +221,12 @@ def length_hint(obj, default=0): raise ValueError(msg) return val +# Other Operations ************************************************************# + +def call(obj, /, *args, **kwargs): + """Same as obj(*args, **kwargs).""" + return obj(*args, **kwargs) + # Generalized Lookup Objects **************************************************# class attrgetter: @@ -423,6 +429,7 @@ __not__ = not_ __abs__ = abs __add__ = add __and__ = and_ +__call__ = call __floordiv__ = floordiv __index__ = index __inv__ = inv |