Jul-29-2021, 06:22 PM
Why is y not returned?
def numbers(): x = 2 y = x+2 return x return y print(numbers())
Variables not returning
|
Jul-29-2021, 06:22 PM
Why is y not returned?
def numbers(): x = 2 y = x+2 return x return y print(numbers())
Jul-29-2021, 06:25 PM
Because as soon as a
return is encountered, execution returns to the caller. If you want to return multiple values, put them in a collection (list, tuple, dict, set) or an object.
Jul-29-2021, 09:10 PM
(This post was last modified: Jul-29-2021, 09:10 PM by deanhystad.)
def numbers(): x = 2 y = x+2 return x, y print(numbers()) x, y = numbers() print(x, y)
If for some reason you still want behavior of returning values one at the time you can use
yield :>>> def func(): ... yield 1 ... yield 2 ... >>> x, y = func() >>> x 1 >>> y 2 >>> for i in func(): ... print(i) ... 1 2 >>> print(*func()) 1 2
I'm not 'in'-sane. Indeed, I am so far 'out' of sane that you appear a tiny blip on the distant coast of sanity. Bucky Katt, Get Fuzzy
Da Bishop: There's a dead bishop on the landing. I don't know who keeps bringing them in here. ....but society is to blame. |
|