On Thu, Jan 19, 2017 at 10:59 AM, Valentin Iovene via Python-Dev <
python-dev@python.org> wrote:

> With a ast.FunctionDef ast.AST node, is it possible to make the
> difference between this function
>
>     def hello_world():
>         print('hello world')
>
> and this one
>
>     def hello_world() -> None:
>         print('hello world')
>
> ?
>
> In both cases, the FunctionDef node has its 'returns' (return type
> hint) attribute set to None.


>>> t = compile('def f(): pass', '', 'exec', ast.PyCF_ONLY_AST)
>>> print(t.body[0].returns)
None
>>> t = compile('def f() -> None: pass', '', 'exec', ast.PyCF_ONLY_AST)
>>> print(t.body[0].returns)
<_ast.NameConstant object at 0x10a900f28>
>>>  print(t.body[0].returns.value)
None
>>>

-- 
--Guido van Rossum (python.org/~guido <http://python.org/%7Eguido>)
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to