使用pyCharm从“user”到“self.user”重构

时间:2014-09-19 08:11:03

标签: python refactoring pycharm

我想将变量从本地范围移动到对象级别。新代码应该像以前一样使用self.user而不是user

class Foo(object):
    def test_foo(self):
        user=User()
        ...
        user.do()

新代码应如下所示:

class Foo(object):
    def test_foo(self):
        self.user=User() # I can remove this line by hand
        ...
        self.user.do()

我尝试重构>>从user重命名为self.user,但pyCharm说:"插入的标识符无效"

如何使用pyCharm重构此内容?

1 个答案:

答案 0 :(得分:8)

您要做的是一个简单的重命名,而是创建一个新的实例属性。 因此,您应该使用 Extract>而不是 Rename 。 Field 菜单项。 或者,您可以以 Ctrl + Alt + F 访问此重构(这取决于您选择的快捷方式。我的是KDE的默认值)