[Python-Dev] Method signatures in the datetime module documentation (original) (raw)

Martin Panter vadmium+py at gmail.com
Wed Aug 3 22:41:56 EDT 2016


On 4 August 2016 at 00:24, Alexander Belopolsky <alexander.belopolsky at gmail.com> wrote:

On Fri, Jul 29, 2016 at 12:55 PM, Alexander Belopolsky <alexander.belopolsky at gmail.com> wrote:

How should I present the signature of the new replace method in the documentation? Having not seeing any replies, let me make a proposal: datetime.replace(hour=self.hour, minute=self.minute, second=self.second, microsecond=self.microsecond, tzinfo=self.tzinfo, *, fold=self.fold) while not a valid method signature, this seems to correctly reflect what replace() does.

Does that mean replace() accepts most of its arguments as either positional or keyword arguments? IMO when the documentation uses the “name=default” notation, it implies keyword argument support, while the [name] notation implies only supporting a positional argument. If replace() actually supported these keywords all along, then I am happy with this proposal.

There are a few bug reports that may be relevant:

https://bugs.python.org/issue13386: notation where there is no simple default value https://bugs.python.org/issue23738: notation for defaults for positional-only parameters



More information about the Python-Dev mailing list