gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:34:17 31 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/45219758/

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