Lawrence D’Oliveiro <[email protected]> wrote: > 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.
Yes, I realise that the __init__ method shows the signature. In that case what does that "See help(type(self)) for accurate signature" mean then? I was hoping it might provide some more detail somewhere/somehow. The same phrase occurs in other places, I'll see if any aren't like this one where the arguments are there anyway. -- Chris Green · -- https://mail.python.org/mailman3//lists/python-list.python.org
