我试图理解Python中嵌套类的范围.这是我的示例代码:
class OuterClass:
outer_var = 1
class InnerClass:
inner_var = outer_var
Run Code Online (Sandbox Code Playgroud)
类的创建没有完成,我收到错误:
<type 'exceptions.NameError'>: name 'outer_var' is not defined
Run Code Online (Sandbox Code Playgroud)
尝试inner_var = Outerclass.outer_var不起作用.我明白了:
<type 'exceptions.NameError'>: name 'OuterClass' is not defined
Run Code Online (Sandbox Code Playgroud)
我试图访问静态outer_var的InnerClass.
有没有办法做到这一点?
我有以下类结构:
class Root:
@dataclass
class Leaf:
pass
@dataclass
class Node:
leaf: Leaf
Run Code Online (Sandbox Code Playgroud)
问题是PyCharm看不到Leaf类,我也尝试将其指定为leaf: Root.Leaf甚至'Root'.Leaf...有相同的结果。
如果类型是另一个内部类,如何在内部类中声明字段类型?在Python中可以吗?
PS我可以使该类Leaf成为类的内部成员Node,但我对我的示例感兴趣。