On 7 Jul, 13:09, Jeff <[EMAIL PROTECTED]> wrote: > When you call c3.createJoe(c1.fred), you are passing a copy of the > value stored in c1.fred to your function. Python passes function > parameters by value. The function will not destructively modify its > arguments; you must expliticly state your intention to modify an > object: > > class one(): > fred = 'fred' > > class three(): > def createJoe(self, myName): > return "Joe" > > def main(): > c1 = one() > c3 = three() > c1.fred = c3.createJoe() # Modify c1's attribute, fred, with the > return value from c3.createJoe
Thank you very much for your helpful replies. Two questions: One: My use of classes is because I want two classes one for global variables and one for global functions. A function may set multiple global variable values, so what is the best way to do this as 'return' only appears to be able to set one value. Two: I am sorry but I do not understand the significance defining a Class as: >>> class MyClass(object): what is object ? I am using python with Google App Engine, and I only have Alex Martelli's book up to Python 2.2, if they has any relevance ? Thanks again for your help. I now understand what my mistakes were and why I was not getting the results I had expected. Richard -- http://mail.python.org/mailman/listinfo/python-list