Вызов методов внутри класса из последовательности строк

Michael спросил: 27 ноября 2017 в 06:07 в: python

Из серии строк я пытаюсь вызвать методы внутри класса. К сожалению, метод не вызывается должным образом, так как ему требуется self, чтобы указать, что он является внутренним для класса. Как я могу исправить эту логику?

class SomeClass(object):
    def apply(self):
        rules = [{'action': 'replace'}, {'action': 'split'}, {'action': 'remove'}]
        return [eval('_perform_' + r['action'])() for r in rules
              if r['action'] in ['replace', 'split', 'remove']]    def _perform_replace(self):
        print("performing replace")    def _perform_split(self):
        print("performing split")    def _perform_remove(self):
        print("performing remove") SomeClass().apply()

Это вызывает следующее исключение:

NameError: имя '_perform_replace' не определено

0 ответов