From: Yury Selivanov Date: Fri, 31 Jan 2014 20:30:30 +0000 (-0500) Subject: inspect: Add some comments in Parameter.__eq__ method X-Git-Tag: v3.4.0rc1~147 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0ba5f0d3866a2bfa42cba3d809fc1c5d90faaf10;p=python inspect: Add some comments in Parameter.__eq__ method --- diff --git a/Lib/inspect.py b/Lib/inspect.py index 4842965231..a65aafdb1b 100644 --- a/Lib/inspect.py +++ b/Lib/inspect.py @@ -1905,6 +1905,17 @@ class Parameter: id(self), self.name) def __eq__(self, other): + # NB: We deliberately do not compare '_partial_kwarg' attributes + # here. Imagine we have a following situation: + # + # def foo(a, b=1): pass + # def bar(a, b): pass + # bar2 = functools.partial(bar, b=1) + # + # For the above scenario, signatures for `foo` and `bar2` should + # be equal. '_partial_kwarg' attribute is an internal flag, to + # distinguish between keyword parameters with defaults and + # keyword parameters which got their defaults from functools.partial return (issubclass(other.__class__, Parameter) and self._name == other._name and self._kind == other._kind and