如何解决Python 类型:如何在类型提示中引用动态创建的类
我正在尝试为我的元模型的实现部分创建一个可迭代的 TextXClass
实例,但由于该类是动态创建的,我很不走运。是否还有一些巧妙的方法来输入我的模型的各个元素,还是我必须基本上使用 Iterable[Any]
?
解决方法
您可以简单地动态创建类,并通过将其设置为引号来 forward reference。链接说:
当类型提示包含尚未定义的名称时,该定义可能会表示为字符串文字,以便稍后解析。
一个最小的例子:
def expect_class_instance(instance: "MyClass"):
pass
def factory():
class SomeClass:
pass
return SomeClass
MyClass = factory()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。