Python Class Instance Vs. Class Variables
I am trying to define a list as an instance variable within a class but it is acting as a class variable. class THING:     def __init__(self, name, stuff):         self.name = name
Solution 1:
When you are passing datecnts list to your THING object's constructor, you are just passing the reference (and list is mutable and dict are mutable) , hence if you make any changes to the dict for A THING object, it would reflect in B , since B also has the same reference. You should try to do copy.deepcopy of datecnts and send that to A and B separately.
Example -
import copy
list.append(THING('A', copy.deepcopy(datecnts)))
list.append(THING('B', copy.deepcopy(datecnts)))
Post a Comment for "Python Class Instance Vs. Class Variables"