关于python:在类A的方法中键入类型A的参数的提示

Type hint for argument of type A in method of class A

本问题已经有最佳答案,请猛点这里访问。

我尝试使用Python3.5.1中的类型提示,代码如下:

1
2
3
4
5
6
7
8
>>> class A:                        
...     def a(self, i: int, b: A):  
...         pass                    
...                                  
Traceback (most recent call last):  
  File"<stdin>", line 1, in <module>
  File"<stdin>", line 2, in A      
NameError: name 'A' is not defined

我猜在分析类型A时,类型A还没有完全构造是范围问题,但是我不理解为什么这样的语法不好。有没有其他的方法来表达它,或者它只是非法的构造?

我想在基类中使用这个语法提示,它可以在类树的层次结构中组成派生类。


试试这个:

1
2
3
4
class A:

    def a(self, i: int, b: 'A'):
        pass

有关详细信息,请查看此处