[Python-Dev] PEP 484 proposal: don't default to Optional if argument default is None
Ivan Levkivskyi
levkivskyi at gmail.com
Wed May 10 06:31:20 EDT 2017
More information about the Python-Dev mailing list
Wed May 10 06:31:20 EDT 2017
- Previous message (by thread): [Python-Dev] PEP 484 proposal: don't default to Optional if argument default is None
- Next message (by thread): [Python-Dev] python docs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
There is a discrepancy now between PEP 484 and PEP 526: def f(x: int = None): ... # OK x: int = None # Error I think the two rules should be "in sync", in view of this I agree with the proposal. Concerning verbosity and a long name Optional there are many reasonable workarounds. One is already mentioned from typing import Optional as O. Another (unrelated to `` = None`` pattern) is https://github.com/python/typing/issues/420 that allows to avoid Optional altogether in patterns like this: def func(x: Optional[X]) -> Optional[Y]: if x is None: return None # do some stuff with 'x' With @maybe decorator proposed in https://github.com/python/typing/issues/420 this will be simplified to: @maybe def func(x: X) -> Y: if x is None: return None # do some stuff with 'x' Even if @maybe will not make it to typing, one still can define such (or similar) decorators (especially with @decorated_type and extended Callable syntax). In view of this, I think verbosity is not a problem at all. -- Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20170510/518f178d/attachment.html>
- Previous message (by thread): [Python-Dev] PEP 484 proposal: don't default to Optional if argument default is None
- Next message (by thread): [Python-Dev] python docs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list