Re: What does this "See help(type(self)) for accurate signature." actually mean?

Lawrence D’Oliveiro <[email protected]> Sun, 15 Mar 2026 21:21:58 -0000 (UTC)
Newsgroups comp.lang.python
Organization A noiseless patient Spider
Message-ID <[email protected]>
On Sun, 15 Mar 2026 09:05:08 +0000, Chris Green wrote:

> I see this message in several places in the help() output for gpiod:
> "See help(type(self)) for accurate signature.", but I can't work out
> what I actually need to type into help() to get a result.
>
> So, for example, I say 'help("gpiod.line_settings")', I see, among
> other things:-
>
>      |  __init__(
>      |      self,
>      |      direction: gpiod.line.Direction = <Direction.AS_IS: 1>,
>      |      edge_detection: gpiod.line.Edge = <Edge.NONE: 1>,
>      |      bias: gpiod.line.Bias = <Bias.AS_IS: 1>,
>      |      drive: gpiod.line.Drive = <Drive.PUSH_PULL: 1>,
>      |      active_low: bool = False,
>      |      debounce_period: datetime.timedelta = datetime.timedelta(0),
>      |      event_clock: gpiod.line.Clock = <Clock.MONOTONIC: 1>,
>      |      output_value: gpiod.line.Value = <Value.INACTIVE: 0>
>      |  ) -> None
>      |      Initialize self.  See help(type(self)) for accurate signature.
>
> What do I actually need to type to get that "accurate signature"?

Actually, you’ve got it right there. When you call the class to create
an instance, you are actually calling the __init__ method (or the
__new__ method, if that’s defined). So the arguments you need to pass
are exactly those accepted by that method. No need to look anywhere
else for the “accurate signature”, since you have just posted it.

Or it just means that the detailed docstring explaining what all those
args are for is attached to the class, not this __init__ method.