我有一个函数,当前返回两个值,一个int和一个string,例如:
def myfunc():
return 0, 'stringA'
此函数已经在许多代码中使用,但我需要对其进行改进,以便它返回三个值,一个int和两个字符串,例如:
def myfunc():
return 0, 'stringA', 'stringB'
当然,我希望保持与现有代码的兼容性,因此像上面修改的函数那样返回值将导致ValueError.
一种解决方案是将改进后的函数包装成另一个具有旧名称的函数,因此我们在现有代码中调用初始函数,在新代码中调用新函数,例如:
def newmyfunc():
return 0, 'A', 'B'
def myfunc():
result1, result2, _ = newmyfunc()
return result1, result2
就这个解决方案而言,我觉得它并不优雅.
有没有更好的方法来实现这一目标?