我正在评估pycharm,并且卡在了重构位。
我要实现的是在其中一个函数中添加一个新参数。我这里有两个问题。


每当我添加新参数时,都会显示“默认值缺失”
传播参数似乎一直处于禁用状态


那么,默认值是强制性的吗?以及如何在所有函数调用中反映新参数?

如果有帮助,请附加屏幕截图。
pycharm - 更改pycharm中的签名(重构)时,必须使用默认变量和参数传播-LMLPHP

最佳答案

在Python的意义上,“默认值”似乎并不意味着“默认值”:将根据新签名更改将被放置在调用中的文本,这些扩展名必定是默认的。

这也将说明附加的复选框,该复选框用于实际将该值作为带有新参数的“ Python默认值”。然后在签名预览中将其显示为Python默认值(= ...)。

因此,如果将文本thing2放置在new_param的“默认值”框中,并且未选中该复选框,则在重构之后(可能的话)



fn1(thing1)


变成

fn1(thing1, thing2)


在呼叫站点,然后fn1的重构定义将变为

def fn1(param1, new_param):
    #  ...


也就是说,不涉及Python默认值。

10-08 08:13
查看更多