那么问题是这样的:
class A():
def foo() -> B:
pass
class B():
def bar() -> A:
pass
这将引发 NameError: name 'B' is not defined。
所以为了类型检查,我不愿意把 -> B 改成 -> "B"。那么有什么解决方法吗?
为了进一步讨论,我真的看不到注释中的任何点,例如“def foo(a:'x',b:5 + 6,c:list)-> max(2,9):”(IN PEP 3107 )。为什么地狱蟒威胁这些注释表达?