gpt4 book ai didi

python - 如何将类的实例传递到其构造函数中的属性并让这些属性访问已初始化的属性?

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:39 24 4
gpt4 key购买 nike

假设我在 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: type object 'foo' has no attribute 'bar'

不确定如何继续,因为我想将该类的实例本身传递到其他类的构造函数中,并让构造函数中的其他类可以访问这些实例属性。我环顾四周,但不幸的是没有在 python 范围内找到本质上类似的东西

最佳答案

您想要将 self (正在初始化的 Foo 实例)传递给 BarBaz,而不是类 Foo 本身。

class Foo(object):
a=9
def __init__(self):
self.bar = Bar(self)
self.baz = Baz(self)

如果这是正确的,那么运行您的代码应该会产生输出 72

关于python - 如何将类的实例传递到其构造函数中的属性并让这些属性访问已初始化的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58985000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com