Skip to main content
 首页 » 编程设计

python之B 中 A 的不同实例 (Python)

2025年05月04日10qq号

在这种情况下,b1 和 b2 都有相同的 A 实例。

class A: 
    def __init__(self): 
        self.var=1 
 
class B: 
    a=A() 
    def __init__(self): 
        pass 
 
b1=B() 
b2=B() 
b1.a.var=2 #changing "var" in b1 would also change it in b2 
print(b2.a.var) # prints 2  

我应该怎么做才能在 B 中拥有 2 个不同的 A 实例?

请您参考如下方法:

按原样定义B,它的属性a 属于类本身,而不是每个单独的实例。你需要做这样的事情:

class B: 
    def __init__(self): 
        self.a = A() 

为每个 B 获取单独的 A 实例。