这个问题已经在这里有一个答案:
- 如何指定一个方法的返回类型是相同的类本身在Python? 3个回答
在Python 3我可以做参数和返回类型的注解。 例:
class Graph:
def __init__(self, V: int, E: int, edges: list):
pass
@classmethod
def fromfile(cls, readobj: type(sys.stdin)):
pass
def V(self) -> int:
pass
def E(self) -> int:
pass
问题是我不能做的批注与当前类(图),这是没有定义的返回类型。 例:
class Graph:
def reverse(self) -> Graph:
pass
此代码去与错误
def reverse(self) -> Graph:
NameError: name 'Graph' is not defined
这些注释都用于记录,并允许IDE识别参数和返回值的类型=>启用自动完成真正有用的
UPD:所以我想出了是,这是不可能的或者需要一些黑客,我不喜欢,所以我决定只使用def reverse (self) -> 'Graph':
这是可以理解的文档虽然违反规则。 缺点是,它不支持IDE自动完成工作。