类型:函数返回带解压缩列表的元组时的类型提示

问题描述

我有这个:

from typing import Tuple
import random

a = random.randint(100) # some random number

def foo(a: int) -> Tuple:
    b = []
    for _ in random.randint(0,10):
       b.append(random.randint(-5,5) # adding random numbers to b
    return a,*b

我想为此功能编写返回类型,但是我现在不正确地

我尝试过:

from typing import Tuple
import random

a = random.randint(100) # some random number. It doesn't matter

def foo(a: int) -> Tuple[int,*Tuple[int,...]]:
    b = []
    for _ in random.randint(0,*b
带有 mypy

Pycharm 说:foo(a: int) -> Tuple[int,Any] 但是我需要该函数返回传递给它的变量的类型

真实项目中,它需要一个泛型,并返回一个元组,其中包含对象和解压缩列表 >便于阅读

实函数:

...
    def get_entities_with(self,*component_types):
        for entity in self.entities.values():
            require_components = [component for component in entity.components if type(component) in component_types]
            if len(require_components) == len(component_types):
                yield entity,*require_components
...

.pyi文件:

T = TypeVar("T")
...
    def get_entities_with(self,*components:Type[T]) -> Generator[Entity,*Tuple[T,...]]: ...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...