Am 30.04.2010 13:05, schrieb Stefan Krastanov:
Hello all,

[snipp]

Here is the problem:
I have a class (call it Data) that has a number of NumPy arrays and some
methods that get useful information from the arrays (math stuff).
I have two other classes (called Viewer1 and Viewer2) (they are subclasses
of QAbstractTableModel but that's not important).
I am working in my code with one instance of each class. Viewer1 and Viewer2
must be able to call methods from the Data instance, but as the instance of
Data is constantly updated, I cannot just copy it.
Why do you think the data is copied? Both viewers will hold a reference to the same data object:

Type "help", "copyright", "credits" or "license" for more information.
>>> class d(object):
...   a = 1
...   b = 2
...   c = 3
...
>>> d1 = d()
>>> d1.a
1
>>> class view1(object):
...   def __init__(self, data):
...     self.data = data
...   def data(self):
...     return self.data
...
>>> class view2(object):
...   def __init__(self, data):
...     self.data = data
...   def data(self):
...     return self.data
...
>>> v1 = view1(d1)
>>> v2 = view2(d1)
>>> v2.data.b
2
>>> v2.data.b = 4
>>> v2.data.b
4
>>> v1.data.b
4
>>>

hth
 Paul




--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to