Can Python function return multiple data?
sohcahtoa82 at gmail.com
sohcahtoa82 at gmail.com
Tue Jun 2 17:40:27 EDT 2015
On Tuesday, June 2, 2015 at 2:27:37 PM UTC-7, fl wrote:
> Hi,
>
> I just see the tutorial says Python can return value in function, it does
> not say multiple data results return situation. In C, it is possible.
> How about Python on a multiple data return requirement?
>
>
> Thanks,
You return a tuple, set, or other iterable. For example:
def return_two_values():
return 1, 2
a, b = return_two_values()
print a
print b
This would print:
1
2
Note though that when doing something like this, you have to be really careful that if you have multiple calls to `return` in your function, that they will ALL return the same number of values. Otherwise, when the tuple/list/etc. is unpacked, you'll get an error.
def return_two_values():
# ... do some stuff
if someCondition:
print "someCondition was true!"
return 0
return 1, 2
a, b = return_two_values()
Here, if someCondition ended up being False, then an exception would be thrown.
Keep in mind that the unpacking of the returned value into the variables `a` and `b` works with *ANY* iterable. So if you returned 'abc' and unpacked it into three variables, then the first would contain 'a', the second 'b', and the third 'c'.
You can also just return a dictionary if you want to return multiple values.
More information about the Python-list
mailing list