当前位置: 首页 > 知识库问答 >
问题:

类[duplicate]的方法中A类型参数的类型提示

狄宗清
2023-03-14

我试图在Python3.5中使用类型提示。1,代码如下:

>>> 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个答案

王建华
2023-03-14

试试这个:

class A:

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

有关更多信息,请查看此处

 类似资料:
  • 下面包含的代码抛出以下错误: 在这一行: 为什么Python不能在方法中识别我的类?

  • 问题总结:我想传递一个带有类型参数(如

  • 问题内容: 问题摘要: 我想将具有类型参数(例如)的类作为类型参数传递给泛型方法。 假设我有一个方法: 当然,此方法对于任何类型的类都可以正常使用。我可以这样调用该方法,例如: 问题: 我发现我不能这样做: 从句法上讲,这显然是无效的。但是,我不确定如何实现这样的目标。我当然可以通过,但是泛型类型的添加使其在语法上不再有效,并且我想不出解决方法。 唯一的直接解决方案是这样的事情(看起来很愚蠢):

  • 问题内容: class Node: def append_child(self, node: Node): if node != None: self.first_child = node self.child_nodes += [node] 我该怎么办?因为当我运行它时,它说。 我应该只删除and实例在函数中检查它吗?但是,我该如何访问的属性(我希望它是类的实例)? 我不知道如何在Python,

  • 我想这样设置参数的类型: 当我尝试这样做时,会引发错误:NameError:名称'Tree'未定义

  • 问题内容: 您认为可以创建类似的东西吗? 问题答案: 是的你可以。 用法示例: