numpy_types.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:static-typing 作者: mbdevpl 项目源码 文件源码
def __missing__(self, key: t.Union[t.Tuple[int, type], t.Tuple[int, type, t.Sequence[int]]]):
        if not isinstance(key, tuple):
            raise TypeError('key={} of bad type {} was given'.format(repr(key), type(key)))
        if len(key) < 2 or len(key) > 3:
            raise ValueError('{}'.format(key))
        if not isinstance(key[0], int):
            raise TypeError()
        if key[0] <= 0:
            raise ValueError()
        if not isinstance(key[1], type):
            raise TypeError()
        if len(key) == 3:
            if not isinstance(key[2], tuple):
                raise TypeError()
            if len(key[2]) != key[0]:
                raise ValueError()
            if any(k is not Ellipsis and not isinstance(k, int) for k in key[2]):
                raise TypeError()
            if any(k is not Ellipsis and k <= 0 for k in key[2]):
                raise ValueError()
        value = create_typed_numpy_ndarray(*key)
        self[key] = value
        return value
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号