重构函数定义
我在Eclipse上使用Pydev来写Python代码。我对Pydev和Eclipse都很陌生。不过我很喜欢一个功能,就是可以通过右键点击 -> 重构 -> 重命名...来重命名一个变量。
我在想,如果我改变一个函数的定义,是否有类似的功能可以在整个项目中更改这个函数的所有引用。
比如说,假设我最开始有:
def myFunction(a, b):
body of the function
return blah
我在项目的其他文件中使用这个函数。比如说,
thisVar = myFunction(a, b)
现在我觉得需要改变这个函数的定义,以便添加一个额外的参数。
def myFunction(a, b, c):
body of the function
return blah
在Eclipse或Pydev中,有没有什么方法可以自动把
thisVar = myFunction(a, b)
改成
thisVar = myFunction(a, b, c)
谢谢你的帮助。
3 个回答
0
我知道这个问题已经有4年了,但Eclipse这个工具可以对Java的方法进行重构,也就是可以修改方法的定义和参数。根据我所知,Pydev这个工具对Python的函数并不支持这种功能。
0
我觉得在Eclipse的Pydev里没有重构方法。至于为什么没有,大家可以参考这里... 这和Python变量的构造有关。
2
没有哪个开发工具会支持这个,因为当你调用一个函数时,它需要的变量不一定总是c
。
我建议把参数c
设为可选的,像这样:
thisVar = myFunction(a, b, c = None)
当你发现确实需要c
的时候,你可以用三个参数来调用这些语句,比如myFunction(10,20, c = 2000)
。