Python中是否存在类定义的变量提升(类似于JavaScript中的函数和变量提升)?

4

我有两个类的定义:

class Foo:
  def __init__(self, bar: Bar):
    # some code

class Bar:
  def __init__(self, foo: Foo):
    # some more code

我希望能够指定参数的类型。当我尝试运行该代码时,会出现“使用变量'Bar'之前未进行赋值”的错误。
有没有可能告诉解释器,Bar在下面几行被定义?

1
不,Python没有变量提升。但是在旧版本中,您可以使用字符串来进行类型注释,在新版本中,使用from __future__ import annotations可以实现注释的延迟评估行为。 - juanpa.arrivillaga
1个回答

4

2
对于早期版本,只需使用类名字符串即可。处理注释的第三方工具将处理它。 - jsbueno

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接