[Python-Dev] Experiences with Creating PEP 484 Stub Files (original) (raw)

Phil Thompson phil at riverbankcomputing.com
Wed Feb 10 13:01:55 EST 2016


On 10 Feb 2016, at 5:52 pm, Guido van Rossum <guido at python.org> wrote:

On Wed, Feb 10, 2016 at 1:11 AM, Phil Thompson <phil at riverbankcomputing.com> wrote: I understand now. The documentation, as it stands, is correct and consistent but (to me) the meaning of Optional is completely counter-intuitive. What you suggest with str = ... is exactly what I need. Adding a section to the docs describing that should clear up the confusion. I tried to add some clarity to the docs with this paragraph: Note that this is not the same concept as an optional argument, which is one that has a default. An optional argument with a default needn't use the Optional qualifier on its type annotation (although it is inferred if the default is None). A mandatory argument may still have an Optional type if an explicit value of None is allowed. Should be live on docs.python.org with the next push (I don't recall the delay, at most a day IIRC).

That should do it, thanks. A followup question...

Is...

def foo(bar: str = Optional[str])

...valid? In other words, bar can be omitted, but if specified must be a str or None?

Thanks, Phil



More information about the Python-Dev mailing list