首页 > 解决方案 > 如何检查变量是否是联合中一种类型的实例?

问题描述

我想在运行时检查参数的类型是否正确。所以我有类似的东西:

MyUnion = Union[Type1, Type2]

我想做的是:

def afunc(param: MyUnion):
    # what I want by this is essentially 
    # isinstance(param, (Type1, Type2)) 
    assert isinstance(param, MyUnion)

我原以为这很简单,但我实际上无法从docs中找到这样做typing方法。

我的例子被简化了。在我的实际情况下,类型是由我正在构建的工具的客户端动态指定的,所以我不希望静态分析器能够弄清楚。

标签: pythontyping

解决方案


推荐阅读