Как быстро преобразовать функции из файла / модуля в класс? - PullRequest
0 голосов
/ 26 апреля 2018

Допустим, у меня есть 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

IsЕсть ли быстрый способ сделать это?Может быть, возвышенный плагин?

1 Ответ

0 голосов
/ 26 апреля 2018

Вы можете использовать регулярные выражения и мультиредактирование в Sublime для быстрого выполнения задачи.

  1. Нажмите Ctrl + f (открывает нижнюю строку поиска)

  2. Убедитесь, что кнопка регулярного выражения (.*) активирована. Если нет, нажмите Alt + r

  3. Введите def.*\( в качестве шаблона поиска "

  4. Нажмите Alt + Введите , чтобы отредактировать все функции:

  5. Нажмите Влево Стрелка для отмены выбора и введите self,

  6. Нажмите Shift + PageDown несколько раз, чтобы выделить весь текст, содержащий функции

  7. Нажмите Tab , чтобы переместить все функции вправо

  8. Добавьте имя класса вверху class MyClass():

Вам все равно нужно будет вручную исправить внутренние вызовы в классе, например, если одна из текущих функций вызывает другую:

def func_1():
    pass

def func_2():
    func_1()

следует вручную исправить на:

def func_1(self):
    pass

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