【问题标题】:How to add type hinting to "class" type in python如何在python中为“类”类型添加类型提示
【发布时间】:2020-02-28 13:32:29
【问题描述】:
# Java
public <T> T findById(String id, Class<T> clazz)

上述Java方法签名中的Class&lt;T&gt;类型应该如何用Python类型提示来表示?

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

【问题讨论】:

标签: python type-hinting


【解决方案1】:

要注释类本身的类型,请使用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)

【讨论】:

    猜你喜欢
    • 2021-05-24
    • 2021-10-19
    • 2020-01-14
    • 2017-11-03
    • 2018-03-23
    • 2022-09-29
    • 2016-08-17
    • 1970-01-01
    • 2020-10-14
    相关资源
    最近更新 更多