使用Pycharm重构属性方法

Sea*_*123 9 python refactoring properties automated-refactoring pycharm

我有以下课程:

class Dogs(object):
    def __init__(self):
        self.names = []
        self.breeds = set()

    def number(self):
        return len(self.names)
Run Code Online (Sandbox Code Playgroud)

我想改成number一个财产.这意味着我也想改变它的所有用法.PyCharm是否内置了它的重构工具?这似乎是根据这个问题.

此时,我正在"查找所有用法",然后手动修复每个实例.如果没有用于将方法更改为属性的特定重构工具,是否有某种方法可以更有效地使用"查找所有用法"?

pie*_*odn 6

是的,您可以将方法重构为 PyCharm 中的属性。奇怪的是,这与“重构”菜单中的任何条目都不对应。

只需将编辑器光标放在方法名称上,然后按Alt+?快捷键即可显示可用的Intentions

然后,选择“将方法转换为属性”。

“将方法转换为属性”意图

您还可以触发与全球行动搜索Ctrl+ Shift+ A,然后从那里的意图。

选择

  • 奇怪的是,逆运算不可用:) (2认同)