如何快速将文件/模块中的函数转换为类?

时间:2018-04-26 10:12:11

标签: python sublimetext sublime-text-plugin

假设我在一个文件中有100个函数要转换为类:

def func_1(param):
    pass

def func_2(param):
    pass

...

def func_100(param):
    pass

我想将它巧妙地转换成这个:

class MyClass():

    def func_1(self, param):
        pass

    def func_2(self, param):
        pass

    ...

    def func_100(self, param):
        pass

有快速的方法吗?也许是一个崇高的插件?

1 个答案:

答案 0 :(得分:0)

您可以在Sublime中使用正则表达式和多重编辑来快捷任务。

  1. Ctrl + f (打开查找底栏)

  2. 确保正则表达式按钮(.*)已激活。如果没有按 Alt + r

  3. 输入def.*\(作为搜索模式"

  4. Alt + 输入以多重编辑所有功能:

  5. 箭头取消选择,然后输入self,

  6. 多次按 Shift + PageDown 选择所有涉及功能的文字

  7. 按Tab键将所有功能移至右侧

  8. 在顶部class MyClass():

  9. 添加班级名称

    您仍然需要手动修复课程中的内部调用,例如如果当前函数之一调用另一个函数:

    def func_1():
        pass
    
    def func_2():
        func_1()
    

    应手动修复为:

    def func_1(self):
        pass
    
    def func_2(self):
        self.func_1()