pycharm 可以建议或自动完成或插入类型提示吗?



假设我想在我的python2/3代码中添加类型提示。在Pycharm中最简单的方法是什么?

除了 Pycharms 自己的类型推断之外,它如何帮助我编写类型提示?

基本假设是你自己编写类型。

类型旨在对代码的预期含义进行编码。虽然程序通常可以在推断人类意图方面做得很合理,但归根结底,一些人为干预总是必要的。

(毕竟,如果一个程序推导出一组恰好与你的程序匹配的类型,但由于代码中的错误而最终完全错误怎么办?或者,如果您打算让函数返回一个Iterable[str]但程序推导出List[str],反之亦然,会发生什么?

也就是说,有一些程序(如pytype)会尝试自动为您推断类型。但是,我的理解是,这些类型的程序仍在大量开发中,尚不能处理所有情况。

如果你只想要存根,但不关心它们是否准确/包含有用的类型注释(也许你打算稍后编辑注释?),请使用"stubgen",这是一个命令行实用程序,当你安装 mypy 时默认捆绑在一起。

但在一般情况下,我建议手动添加类型注释(也许从您最常用的文件开始),并尝试使用辅助工具,如 stubgen 或 pytype。

如果要在 Python 2.7 中使用类似 Python3 的类型提示,可以使用 PyCharm IDE,它支持 PEP 484 中描述的存根文件。

https://www.python.org/dev/peps/pep-0484/#stub-files

来源: https://www.quora.com/Are-there-any-plan-to-support-type-hinting-in-Python-2-7

以下是 PyCharm文档:在 PyCharm 中键入提示

如果你为你的方法和类编写文档字符串,PyCharm 会接受它们!澄清一下,PyCharm 具有默认的类型推断,但文档字符串是补充和可选的 - 它们添加了来自 IDE 的额外帮助。这也是一个非常好的习惯。

https://www.jetbrains.com/help/pycharm/2017.1/using-docstrings-to-specify-types.html

https://www.python.org/dev/peps/pep-0257/

最新更新