说我在python foo,bar和baz中有3个类,如下所示:
class Foo(object):
a=9
def __init__(self):
self.bar= Bar(Foo)
self.baz = Baz(Foo)
class Bar(object):
def __init__(self,Foo):
self.a = Foo.a
def f(self,b):
return self.a*b
class Baz(object):
def __init__(self,Foo):
self.b = Foo.bar.f(8)
print(self.b)
k=Foo()
这样做会引发错误:
AttributeError:类型对象'foo'没有属性'bar'
不确定如何继续进行操作,因为我想将该类本身的实例传递到其他类的构造函数中,并使那些实例属性可由构造函数中的其他人员访问。我环顾四周,但不幸的是,在python范围内
答案 0 :(得分:0)
您想将self
(正在初始化的Foo
实例)传递给Bar
和Baz
,而不是类Foo
本身。
class Foo(object):
a=9
def __init__(self):
self.bar = Bar(self)
self.baz = Baz(self)
如果正确,那么运行代码应产生输出72
。