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.

Christian

_______________________________________________
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

Reply via email to