栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

名称未在类型注释中定义

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

名称未在类型注释中定义

您有一份前瞻性声明;函数(作为方法绑定)在类创建 之前
创建,因此名称

Vector
尚不存在。只有在所有类体都已执行后,Python才能创建
class
对象并将名称绑定到该对象
Vector

只需使用带有名称的字符串即可:

class Vector:     # Various irrelevant implementation details     def __add__(self, other: 'Vector') -> 'Vector':        # More implementation details....

这不会影响您的IDE看到声明的方式。加载整个模块后,将查找字符串,并在当前上下文中将其解析为有效的Python表达式。由于

Vector
一旦加载了整个模块,该类就存在了,因此
'Vector'
可以将字符串正确地转换为类对象。

另请参阅前向参考中的规范:

当类型提示包含尚未定义的名称时,该定义可以表示为字符串文字,以便稍后解析。

[…]

字符串文字应包含有效的Python表达式,并且在模块完全加载后,其值应无错误。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/638030.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号