originally, you have:
def func():
return 1
print func() + func()
Then you decided that func()
can return some extra information but you don't want to break previous code
(or modify them one by one).
It looks like
def func():
return 1, "extra info"
value, extra = func()
print value # 1 (expected)
print extra # extra info (expected)
print func() + func() # (1, 'extra info', 1, 'extra info') (not expected, we want the previous behaviour, i.e. 2)
The previous codes (func() + func()
) are broken. You have to fix it.
The solution is adapted from the answer,