【发布时间】:2017-01-07 09:50:55
【问题描述】:
这是我的基本代码。
from typing import Optional
class State:
name = 'unnamed state'
def __init__(self, name: str = None) -> None:
super().__init__()
if name is not None:
self.name = name
def on_enter(self) -> None:
pass
def on_leave(self) -> None:
pass
def to(self, dest: Optional['State']) -> Optional['State']:
self.on_leave()
if dest is not None:
dest.on_leave()
return dest
class AState(State):
pass
class BState(State):
def b_func(self):
pass
a = AState()
b = BState()
a.to(b).b_func()
当前类型提示显示a.to(b)的类型是Optional[State],但我想要返回的参数是self,即BState。这在 Python 的类型系统中可用吗?
【问题讨论】: