繁体   English   中英

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

[英]How to add type hinting to “class” type in python

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

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

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

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

from typing import Type

class AClass(object):
    pass

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

由于 class 是一种类型,因此 class 名称本身可以是注释:

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

您可以在运行时解析注释。 PEP 563

从 Python 3.7 开始,可以使用以下特殊导入启用上述功能:

from __future__ import annotations

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM