Объясните, пожалуйста, почему при выходе из метода find в self оказывается атрибуты bar, а не foo?
class baz:
a = 1
def calc(self, value):
self.a = value
return copy.deepcopy(self)
def find(self):
foo = self.calc(1)
bar = self.calc(2)
self = copy.deepcopy(foo) # в self будет объект с a == 1
print self.a
x = baz()
print x.a
x.find()
print x.a # но тут a == 2
...
return foo
x = baz()
print x.a
y = x.find()
print x.a # но тут a == 2
print y.a