问题描述
我有这个:
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 (将#修改为@)