Py学习  »  Python

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

otsuka • 4 年前 • 88 次点击  
# Java
public <T> T findById(String id, Class<T> clazz)

应该如何 Class<T> 输入上面的Java方法签名是否用Python类型提示表示?

# Python
def find_by_id(id: str, clazz: ???) -> T
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54933
 
88 次点击  
文章 [ 1 ]  |  最新文章 4 年前
kojiro
Reply   •   1 楼
kojiro    4 年前

要注释类本身的类型,请使用 Type .

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)