类方法中,如何使用自身类名作类型注解?
例子:# coding: utf-8class C:
def f(self) -> C:
'''方法返回C实例,我将返回值注解写为->C,但会提示C未定义,我不确定该怎么写。'''
return C()
会提示C未定义。 import typing
T = typing.TypeVar('T', bound='C')
class C:
@classmethod
def f(cls:typing.Type) -> T:
return C()
C.f()
来源:https://github.com/python/mypy/issues/1212 还有个规范 返回实例的类方法(classmethod) 一般方法名用from开头 类似dict.fromkeys kogawananari 发表于 2021-5-12 00:40
来源:https://github.com/python/mypy/issues/1212
感谢,晚上研究下
页:
[1]