pycharm 可以建议或自动完成或插入类型提示吗?
Posted
技术标签:
【中文标题】pycharm 可以建议或自动完成或插入类型提示吗?【英文标题】:Can pycharm suggest or autocomplete or insert type hints? 【发布时间】:2017-10-21 00:38:47 【问题描述】:假设我想在我的 python2/3 代码中添加类型提示。在 Pycharm 中最简单的方法是什么?
除了 Pycharms 自己的类型推断,它如何帮助我编写类型提示?
【问题讨论】:
【参考方案1】:基本假设是您自己编写类型。
类型旨在编码您打算为您的代码所表示的含义。虽然程序通常可以合理地推断出人类意图,但归根结底,总是需要一些人为干预。
(毕竟,如果一个程序推断出一组恰好与您的程序匹配的类型,但由于您的代码中的错误而最终完全错误呢?或者如果您打算让您的函数返回一个 @ 会发生什么? 987654323@但程序推导出List[str]
,反之亦然?)
也就是说,有 一些程序(例如 pytype)会尝试为您自动推断类型。但是,我的理解是,这些类型的程序仍在大力开发中,还不能处理所有情况。
如果您只想要存根,但不关心它们是否准确/包含有用的类型注释(也许您打算稍后编辑注释?),请使用“stubgen”,它是一个命令行实用程序,由安装时默认mypy。
但在一般情况下,我建议手动添加类型注释(可能从最常用的文件开始)并尝试在有意义的情况下使用 stubgen 或 pytype 等辅助工具。
【讨论】:
【参考方案2】:如果您想对 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
【讨论】:
但是pycharm可以帮我创建.pyi
文件吗?【参考方案3】:
如果您为您的方法和类编写文档字符串,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/
【讨论】:
以上是关于pycharm 可以建议或自动完成或插入类型提示吗?的主要内容,如果未能解决你的问题,请参考以下文章