类型暗示使用一种方法返回基于__init__参数的值的方法
给定具有一个函数的自定义类,该函数返回一个取决于传递给 init 的方法的值,我该如何告诉MYPY函数返回什么?这就是我到目前为止的目的,但由于多种原因无法使用,例如MyClass似乎在类型提示中无法订阅。
_Var = TypeVar("_Var")
class MyClass:
def __init__(self, method: Callable[[Any], _Var]) -> None:
...
def run(self, *args, **kwargs) -> _Var:
...
def a(method, *args, **kwargs) -> MyClass[int]:
k = MyClass(method)
...
return k
instance = a(...)
value = instance.run() # int
Given a custom class with a function that returns a value dependant on a method passed to init, how can I tell mypy what the function returns? This is what I have so far, but it doesn't work for multiple reasons, like the fact that MyClass doesn't seem to be subscriptable in type hints.
_Var = TypeVar("_Var")
class MyClass:
def __init__(self, method: Callable[[Any], _Var]) -> None:
...
def run(self, *args, **kwargs) -> _Var:
...
def a(method, *args, **kwargs) -> MyClass[int]:
k = MyClass(method)
...
return k
instance = a(...)
value = instance.run() # int
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论