【发布时间】:2016-09-12 20:55:58
【问题描述】:
def my_method(self):
print self.my_field * 2
我希望能够为此添加一个参数,以便在其他情况下我可以使用不同的表达式来代替self.my_field,也许是self.my_other_field 或self.my_field + 1。我选择 self.my_field 并执行 Refactor > Extract > Parameter。我收到一条错误消息,提示“无法使用选定元素执行重构”。
它应该可以重构,因为 my_method 的调用类似于self.my_method() 或other_obj.my_method()。它可以将这些更改为self.my_method(self.my_field) 或other_obj.my_method(other_obj.my_field)。
一般来说,只有当表达式非常简单(例如常量)时,我才能使用提取参数功能。如果它是取决于现有参数值的表达式,则它不起作用。我猜self 是现有参数的一个特例。这只是提取参数的限制,还是我做错了?
【问题讨论】:
标签: parameters refactoring pycharm