如何解决动态泛型类生成
我正在尝试键入一个动态创建的泛型类,以将另一个对象的引用放入类变量中。
然而,mypy 返回的类型与构造函数中使用的推断值不匹配。
这是一个简单的例子:
ABC
我得到以下运行 mypy :
from typing import Any,ClassVar,Generic,Type,TypeVar
T = TypeVar("T")
class Item(Generic[T]):
_REGISTRY: ClassVar[Any]
def __new__(cls,value: T) -> "Item[T]":
instance = super(Item,cls).__new__(cls)
instance._value = value
return instance
def build_item(registry: Any) -> Type[Item]:
class DynamicItem(Item):
_REGISTRY = registry
return DynamicItem
ItemType = build_item("dynamic_class_var")
item_static = Item(0.1)
item_dynamic = ItemType(0.1)
reveal_type(item_static)
reveal_type(item_dynamic)
有什么线索吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。