Python输入中的可订阅类型

问题描述 投票:0回答:2

我想类型检查函数的参数是否可以下标。如何使用Python的typing模块执行此操作?

我已经搜索了文档,但是没有找到任何东西。但是也许可以创建自定义Type。我该怎么办?

python typing
2个回答
0
投票

遵循这些原则(尽管完全未经测试):

from typing import Protocol, TypeVar

K = TypeVar("K")
V = TypeVar("V")

class Subscriptable(Protocol[K, V]):
    def __getitem__(self, k: K) -> V:
        ...

0
投票

要提示标准的__getitem__行为,请使用collections.abc的通用版本,例如typing.Sequencetyping.MutableSequencetyping.Mappingtyping.MutableMapping

© www.soinside.com 2019 - 2024. All rights reserved.