Как передать значение аргумента по умолчанию для члена экземпляра в метод?

Я хочу передать аргумент по умолчанию методу экземпляра, используя значение атрибута экземпляра:

class C:
    def __init__(self, format):
        self.format = format

    def process(self, formatting=self.format):
        print(formatting)

При попытке этого я получаю следующее сообщение об ошибке:

NameError: name 'self' is not defined

Я хочу, чтобы метод вел себя так:

C("abc").process()       # prints "abc"
C("abc").process("xyz")  # prints "xyz"

В чем здесь проблема, почему это не работает? И как я мог сделать эту работу?

Ответы на вопрос(5)

Ваш ответ на вопрос