You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.11中如何为spaCy返回对象添加类型注解?

spaCy返回对象的类型注解方法

要给spaCy返回的对象添加正确的类型注解,让VS Code能识别lemma_这类属性,你需要明确spaCy返回对象的具体类型,并正确导入这些类型:

1. 明确spaCy返回对象的类型

  • 调用nlp(text)返回的是**spacy.tokens.doc.Doc**类型(整个文本的处理结果)
  • Doc里的单个元素是**spacy.tokens.token.Token**类型

2. 跨模块的类型注解实现

假设你的hh函数在other_module.py中,主代码在另一个文件:

主文件代码

import spacy
from spacy.tokens import Doc
from other_module import hh

nlp = spacy.load("en_core_web_sm")
text = "Your sample text here"

# 传入Doc类型对象
result = hh(nlp(text))

other_module.py代码

from spacy.tokens import Doc

def hh(corpus: Doc):
    # 此时VS Code会识别corpus的所有Doc属性,遍历Token也能识别token的属性
    for token in corpus:
        print(f"原词: {token.text}, 词元: {token.lemma_}")

3. 单个Token参数的注解

如果函数需要接收单个Token对象,写法类似:

from spacy.tokens import Token

def process_single_token(token: Token):
    print(f"词性标注: {token.pos_}, 词元: {token.lemma_}")

注意事项

  • 确保spaCy版本在v2.3及以上,该版本开始自带完整的类型注解
  • 保持VS Code的Python插件为最新版本,确保语言服务正常加载类型信息

内容的提问来源于stack exchange,提问作者Bambang Wirojoyo Sentiko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 13:36:04