使用 Pycharm 将 class 方法重构为 属性

Refactor class method to property using Pycharm

我有以下 class:

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

    def number(self):
        return len(self.names)

我想把number改成属性。这意味着我也想改变它的所有用法。 PyCharm 是否将此内置到其重构工具中?好像是按照this issue.

此时,我正在做 "find all usages",然后手动修复每个实例。如果没有用于将方法更改为 属性 的特定重构工具,是否有一些方法可以更有效地使用 "find all usages"?

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

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

然后,select "Convert method to property".

您还可以使用 Ctrl+Shift+A 和select 那里的意图。