On 2012-06-22, at 3:25 PM, Christian Heimes wrote: > Am 22.06.2012 21:10, schrieb Yury Selivanov: >> I think that if a function lacks an annotation, that should be reflected >> in the same way for its signature. >> >> Currently: >> >> if hasattr(signature, 'return_annotation'): >> >> If we use Signature.empty: >> >> if signature.return_annotation is not signature.empty: >> >> So (in my humble opinion) it doesn't simplify things too much. >> And also you can use 'try .. except AttributeError .. else' blocks, >> which make code even more readable. > > The second form has two benefits: > > * you get a sensible error message when you mistype the name of the > attribute. hasattr(signature, 'return_annotatoin') is clearly an error, > hard to notice with the naked eye and passes silently. > > * modern Python IDEs have code completion. "signature.re<TAB> is not > signature.em<TAB>" safes key strokes.
Agree on both. This change also cut 20 lines from the implementation. So I guess it is a good decision after all ;) - Yury _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com