How can i return more than one value from a function to more than one variable

Gary Herron gary.herron at islandtraining.com
Mon Dec 23 04:58:09 EST 2013


On 12/22/2013 02:54 PM, dec135 at msn.com wrote:
> basically what I wanna do is this :
>
> x = 4
> y = 7
> def switch (z,w):
> ***this will switch z to w and vice verca***
>       c= z
>       z=w
>       w=c
>       print 'Now x =', w, 'and y = ' , z
>       return w
> x = switch(x,y)
>
>   How am I supposed to do so I can  return also a value to the variable y WITHOUT printing 'Now x =', w, 'and y = ' , z   a second time ?
>
> thanks in advance

I don't' understand the question, but if you are just trying to exchange 
the values of x and y, this will do:

x,y = y,x


If you want a function to return several values to several variables, try:

def fn(...):
     # calculate a and b
     return a,b

p,q = fn(...)

All these comma-separated sequences are tuples, often written with 
parentheses as (x,y)=(y,x) and (p,q)=fn(...), but as here,  the 
parentheses are often not necessary.

Gary Herron





More information about the Python-list mailing list