Python assignment to self in constructor does not make object the same
I am making a constructor in Python. When called with an existing object as its input, it should set the "new" object to that same object. Here is a 10 line demonstration: class A: def __init__(self, value): if isinstance(value, A): self = value else: self.attribute = value a = A(1) b = A(a)#a and b should be references to the same object print("b is a", b is a)#this should be true: the identities should be the same print("b == a", b == a)#this should be true: the values should be the same I want the object A(a) constructed from the existing object a to be a . Why is it not? To be clear, I