一个项目的 Python 代码有很多函数定义和调用,例如:
def some_function(a, b="", c=0, d=None, e="something"):
# whatever
pass
some_function("a", "b", 1, e="something else")
这很麻烦(不好的做法 - 缺少上下文等),我想自动将其更改为:
some_function(a="a", b="b", c=1, e="something else")
(好吧,在某些情况下,第一个位置参数可能会保持不变)
很多情况下,关键字参数的顺序是不同的,所以也可以按照函数定义的顺序来排列:
def some_method(self, a, b=1, c=2): pass
obj.some_method(a, c=12, b=0) -> obj.some_method(a, b=0, c=12)
PyCharm 的 Refactor > Change 签名有什么帮助吗?
好吧,PyCharm 会重新排序 kw 参数,但不会将位置参数更改为关键字参数(在调用中)。它只是当前的限制还是我错过了一些自动完成的方法?