我想将变量从本地范围移动到对象级别。新代码应该像以前一样使用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重构此内容?
答案 0 :(得分:8)
您要做的是不一个简单的重命名,而是创建一个新的实例属性。 因此,您应该使用 Extract>而不是 Rename 。 Field 菜单项。 或者,您可以以 Ctrl + Alt + F 访问此重构(这取决于您选择的快捷方式。我的是KDE的默认值)