【发布时间】:2022-01-16 15:50:34
【问题描述】:
我正在建立一个我公司其他人正在使用的库。 该库中的一个函数示例是:
def foo(bar, *baz)
现在,我们想出了一个新的命名可选布尔参数qux,我们希望将其添加到foo。
我试图在最后添加它:
def foo(bar, *baz, qux=False)
但这不起作用,因为它是无效的语法(我的 IDE 甚至突出显示了这一点:* 参数后的常规参数)。
在*baz 之前添加它可以正常工作:
def foo(bar, qux=False, *baz)
但这不是向后兼容的,它会破坏每个更新此库的开发人员的所有代码。
如何将这个新参数添加到我的函数中,而不会破坏我所有同事的应用程序?
他们都需要修改他们的代码来接受这个新功能吗?
【问题讨论】:
标签: python shared-libraries libraries