强制自定义类型的参数的属性类型

2024-04-27 22:51:10 发布

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

使用Python的typing模块,我想创建一个自定义类型来检查参数属性的类型。更准确地说,在我的例子中,参数的类型应该是某个类的实例,属性应该是某个类型。你知道吗

我想通过一个简单的例子来说明:

class Wrapper:
    value: typing.Any


def f(obj: WrapperType[int]) -> None:
    assert isinstance(obj, Wrapper) and type(obj.value) is int

如何创建一个WrapperType来反映这个assert的行为(就类型而言)?我在typing模块的文档中找不到这方面的提示。但我不确定我是否误解了其中的某些东西,或者我想要的是不可能的。你知道吗


Tags: 模块实例objtyping类型参数属性value