gpt4 book ai didi

python - 如何为通用工厂方法创建类型提示?

转载 作者:太空宇宙 更新时间:2023-11-04 08:44:12 27 4
gpt4 key购买 nike

如何声明类型提示以指示函数返回作为参数传递的类引用的实例?

如下声明似乎不对,因为它表明返回类型与参数类型相同:

from typing import TypeVar


T = TypeVar('T')

def my_factory(some_class: T) -> T:
instance_of_some_class = some_class()
return instance_of_some_class

示例用法:

class MyClass:
pass

my_class = my_factory(MyClass) # Inferred type should be MyClass

最佳答案

根据 PEP-484 ,正确的方法是使用 Type[T] 作为参数:

from typing import TypeVar, Type


T = TypeVar('T')

def my_factory(some_class: Type[T]) -> T:
instance_of_some_class = some_class()
return instance_of_some_class

然而,我的编辑似乎(还)不支持这一点。

关于python - 如何为通用工厂方法创建类型提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42226929/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com