这个问题必须是一个愚蠢但重要的问题,在stackoverflow中找不到对此的任何讨论。
我试图在另一个类(让我们说“ A”)中声明一个类(让我们说“ B”类),并在类“ A”的方法中使用该类(“ B”),但是对于出于某种原因,您无法在python中声明在同一类中声明的类类型的对象成员。
为什么会这样?在C语言中,您可以从外部类的方法访问内部类而没有任何问题... (我的意图是只有A类会永远需要B类类型的成员,而我只希望A能够发现像B这样的类...)
在python中这样做的正确方法是什么?
class A:
def __init__(self):
self.B_object = B() # error 'unresolved refernace B'
class B:
def __init(self):
pass
答案 0 :(得分:1)
class A:
def __init__(self):
self.B_object = A.B()
class B:
def __init(self):
pass
尝试一下 如果您想将B类设为私有,可以尝试
class A:
def __init__(self):
self.__B_object = A.__B()
class __B:
def __init__(self):
pass