如何在Python 2.7中使用Function Annotation

时间:2017-02-06 03:45:24

标签: python python-2.7 annotations ipython

我在Ipython中看到了这个源代码:

https://github.com/ipython/ipython/blob/e1e2e960315f0f98703f6b8b077b10c99d04d70a/IPython/core/completer.py#L314

我知道这是python3中名为Function Annotation的新功能。

但是这段代码也可以在Python 2.7中使用。为什么呢?

如何在Python 2.7中使用Function Annotation

2 个答案:

答案 0 :(得分:2)

您不能在2.7中直接使用新的(3.5+)注释语法,但是如果您使用python 3.4+,则可以安装mypy并使用其他语法在2.7代码上运行它。参见PEP 484

您在链接中指向的示例可以用2.7编写为:

class Completion:
    def __init__(self, start, end, text, type=None, _origin=''):
        # type: (int, int, str, str, str) -> None
        ...

答案 1 :(得分:1)

不,你不能在Python 2.7中使用函数注释。也就是说,函数注释的主要用途是逐步打字,这可以通过Python 2.7中的注释来完成。