On Thu, 2006-12-28 at 16:14 +0100, Stef Mientki wrote: > I want to return a "simple" variable from a function, > not using the function result. > Is that in any way possible ?? > > The code below is from O'Reilly, "Learning Python", > and there seems no way > to return a simple var like "z" in the example below. > Is that true ? > > thanks, > Stef Mientki > > <Python> > def some_function (z, y): > z = 2 > y[2] = 'global ?' > > > x = 5 > y = [1,2,3,4] > print x,y > some_function(x,y) > print x,y > </Python>
Please reset your brain and read http://effbot.org/zone/python-objects.htm , paying particular attention to the section called "Assignment". You should also think long and hard about *why* you want to return a value from a function by modifying an input parameter instead of just using the return statement. The "return by modifying an input parameter" approach comes from C where that's the only way to return more than one value from a function. In Python, no such crutch is necessary or desirable. With this in mind, the following quote seems appropriate: "Trying to write C code using Python isn't going to be fun or productive." -- Grant Edwards, comp.lang.python, 13 Sep 2006. Hope this helps, Carsten. -- http://mail.python.org/mailman/listinfo/python-list