在PyCharm中将变量重构为monkey-patched属性

时间:2016-11-23 16:58:37

标签: python ide refactoring pycharm rename

在Pycharm中,编辑器中的一段代码如下所示:

q = slice(0, 6)

q1 = 0
q2 = 1
q3 = 2
q4 = 3
q5 = 4
q6 = 5

但现在我想做:

q.q1 = 0
q.q2 = 1
q.q3 = 2
q.q4 = 3
q.q5 = 4
q.q6 = 5

因此,这些变量现在是q的猴子修补属性。这些在我的项目中的几个地方使用,所以我想重构。首先,我尝试突出显示q1,然后转到Refactor->Rename...,然后将名称更改为q.q1,但这会给我留言"'q.q1' is not a valid identifier"

PyCharm有没有办法做这种类型的重构?我尝试了一个简单的查找和替换,但是有很多其他函数名称包含q1,这只是我需要做的重构的一个子集。我知道我可以使用正则表达式来做这个,但我想知道是否还有其他方法?

1 个答案:

答案 0 :(得分:0)

根据答案here,这实际上并不像听起来那么简单。

您有两个主要选项:1)尝试使用重构 - >改为提取选项或2)使用查找和替换(我很欣赏这更加手动且可能耗费时间!)。

我不确定Extract选项如何与像你这样的猴子修补变量一起使用。我会进一步调查。