fork(1) download
  1. class A:
  2. __slots__ = ("a",)
  3. def __init__(self) -> None:
  4. self.a = 1
  5.  
  6.  
  7. class BCorrect:
  8. __slots__ = ("b",)
  9. def __init__(self, b) -> None:
  10. self.__class__.b.__set__(self, b)
  11.  
  12. def __getattr__(self, k):
  13. return getattr(self.b, k)
  14.  
  15. def __setattr__(self, k, v):
  16. setattr(self.b, k, v)
  17.  
  18. a = A()
  19.  
  20. b = BCorrect(a)
  21. print(b.a) # 1
  22. b.a = 2
  23. print(a.a) # 2
  24.  
  25.  
Success #stdin #stdout 0.02s 9116KB
stdin
Standard input is empty
stdout
1
2