如何在python中向“class”类型添加类型暗示

2024-03-29 11:50:37 发布

您现在位置:Python中文网/ 问答频道 /正文

# Java
public <T> T findById(String id, Class<T> clazz)

上面Java方法签名中的Class<T>类型应该如何用Python类型提示表示?你知道吗

# Python
def find_by_id(id: str, clazz: ???) -> T

Tags: 方法id类型stringbydefjavapublic
1条回答
网友
1楼 · 发布于 2024-03-29 11:50:37

要注释类本身的类型,请使用^{}。你知道吗

from typing import Type

class AClass(object):
    pass

def a_function(a_string: str, a_class: Type[AClass]) -> None:
    pass

因为类是类型,所以类名可以是注释本身:

def a_class_factory(a_class: Type[AClass], *args, **kwargs) -> AClass:
    return a_class(*args, **kwargs)

相关问题 更多 >