Я хотел написать метод с аргументом, который по умолчанию переменной-члена, как так:Невозможно связать себя в декларации метода?
def method(self, arg1=0, arg2=self.member):
Видимо, это не допускается. Должен ли я писать его по-другому или, возможно, использовать значение arg2
, чтобы сигнализировать, когда использовать переменную-член?
Это не позволяет вызывающему абоненту передать «Нет» явно, что может быть в порядке, но не в других. Часовая идиома, которую я предлагаю в моем A, является «более тяжелой» (еще одно заявление в классе), но гораздо более общее. –
+1: Очень, очень редко можно ожидать «Нет» как законное значение; он склонен нарушать свои ожидания, чтобы сказать «foo (bar = None)»; зачем вообще упоминать «бар»? Это проще и охватывает более 99,7% случаев на практике. –
@Alex, так как это, вероятно, вопрос начинающего питона, я предоставил простейшее решение. В некотором роде ни один не является часовым :) – Yaroslav