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

时间:2017-05-21 07:57:21

标签: python python-2.7 python-3.x pycharm type-hinting

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

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

3 个答案:

答案 0 :(得分:0)

  

如果你想为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文档:Type Hinting in PyCharm

答案 1 :(得分:0)

潜在的假设是你自己编写类型。

类型用于编码您打算代码的含义。虽然计划通常可以在推断人的意图方面做出合理的工作,但在一天结束时,总会有必要进行一些人为干预。

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

也就是说,某些程序,例如pytype,它们会尝试为您自动推断类型。但是,我的理解是这些类型的程序仍处于大量开发阶段,尚无法处理所有案例。

如果您只是想要存根,但不关心它们是否准确/包含有用的类型注释(可能您计划稍后编辑注释?),请使用" stubgen",这是安装mypy时默认捆绑的命令行实用程序。

但是在一般情况下,我建议手动添加类型注释(可能从最常用的文件开始),并尝试使用stubgen或pytype等辅助工具,这些工具是有意义的。

答案 2 :(得分:-1)

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

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

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