IntelliJ IDEA 中文的类型提示
最后修改时间:2023年8月24日警告
以下仅在安装并启用Python插件时有效。
IntelliJ IDEA 提供了各种方法来帮助检查和检查脚本中对象的类型。IntelliJ IDEA使用PEP 484定义的模块和格式支持函数注释和类型注释中的类型提示。typing
添加类型提示
尽管 IntelliJ IDEA 支持 PEP 484中支持的所有添加类型的方法,但通过简单操作使用类型提示是最方便的方法。根据您使用的解释器,类型将作为注释 (Python 3) 或注释 (Python 2) 添加。
要添加类型提示,请按照以下步骤操作:
选择一个代码元素。
按。AltEnter
选择添加类型提示...。
单击完成操作或编辑类型(如果适用)。Enter
例子 | 目的行动 | 注释的结果代码 (Python 3) |
---|---|---|
指标 | ||
功能 | ||
类属性 |
例子 | 目的行动 | 注释的结果代码 (Python 2) |
---|---|---|
指标 | ||
功能 | ||
类属性 |
您还可以使用Python存储根来指定变量、函数和类字段的类型。
转换评论
对于基于注释的类型提示,IntelliJ IDEA 建议一个简单的操作,允许您将基于注释的类型提示转换为注释注释。此简单的名称为转换为变量注释,工作原理如下:
警告
Python 3中提供了此功能。
前 | 后 |
---|---|
from 输入 import List,可选 xs = [] # 类型: List[可选[str]] | 输入导入List,可选xs:List[可选[str]] = [] |
类型提示验证
只要您应用提示类型时,IntelliJ IDEA 都会根据支持的 PEP检查类型是否正确使用。如果存在使用错误,则会显示相应的警告并建议的操作。以下是验证示例。
验证错误 | 建议采取的行动 |
---|---|
类型声明重复。 | 删除任何类型声明。 |
类型声明中的参数数量与函数参数的数量不同。 | 调整参数的数量。 |
解包时输入的注释与相应的目标不匹配。 | 检查目标格式并修改相应类型注释。 |
参数语法不正确 | 使用建议的格式并添加所需的计时器来包裹 |
赋值表达式中存在未知类型。 | 视觉类型以匹配目标模式。 |
为变量赋值 | 您不能更改注释为 的变量 |
继承一个注释为 的类 | 您不能继承带有注释的类 |
重写用 装饰的方法 | 您不能重写用 修饰的方法 |
函数参数的类型不正确。 | 将字典 |
将错误类型的值分配给类型中的键 |
|
在类型中使用错误的键 | 按照类型定义中指定的方式分配键:
|
修饰函数的错误使用。IntelliJ IDEA 根据装饰器的类型验证装饰函数的类型: | 根据需要修改装饰器或者使用函数return的语句。 |
您可以添加# type: ignore
或# noqa
注释来抑制类型验证警告或忽略缺少的导入语句。
Python 存根
IntelliJ IDEA 支持 Python 存根文件。
在以下示例中,sample_function
来自存根文件 ( stubs.pyi ) 的类型提示在 Python 文件 ( stubs.py ) 中可用:
如果您使用的软件包检测到存根模拟,则会显示以下消息:
您可以安装存根包,忽略此消息并继续使用当前安装的包,或者在项目Settings中禁用此类检查。
笔记
当您选择安装该包时,IntelliJ IDEA 会尝试安装存根包的最新可用版本。如果它与当前使用的非存根包不兼容,安装过程将终止。
提示
您可以在“可用包”对话框中指定要安装的包的特定版本。
使用 Typeshed
Typeshed是一组带有标准 Python 库和各种包的类型注释的文件。Typeshed 存根提供了使用类型提示定义的 Python 类、函数和模块的定义。IntelliJ IDEA 使用此信息来更好地完成代码、检查和其他代码洞察功能。
IntelliJ IDEA 与Typeshed存根捆绑在一起。可用的 Typeshed 存根列表显示在项目视图中的节点外部库 |下。<Python解释器> | 类型化存根。
要使用您自己的版本覆盖捆绑的 Typeshed 存储库,请按照以下步骤操作:
将部分或全部存根复制到项目中的目录中。
通过选择将目录标记为| 将目录标记为源根目录 Sources目录的上下文菜单中的根。
Python 存储库https://github.com/JetBrains/python-sculpts现在已弃用。
感谢您的反馈意见!