def some_method(...):
...
method = some_method
И здесь нет ошибки в индентации - переменная method имеет такой же уровень отступа, как и сигнатура метода. Как это вообще предполагается будет работать?
будет а чего нет то?
считай что один метод под двумя названиями
А как? Я чет не догоняю. Получается, у нас method - это аттрибут класса, являющийся алиасом к методу?
ну some_method и method это просто ссылки на функцию
В целом понятно, спс. Но все равно говно какое-то
где говно? что говно?
Да вот такие вот присвоения под методами. Они во первых нихрена не читаемы, их легко пропустить как часть кода метода
я тебе даже больше скажу, свойства примерно так и работают: >>> class A: ... def foo(self): ... return 1 ... foo = property(foo) ... >>> A().foo 1
Да не, я понял, но выглядит как говно
а как предлагаешь?
Да никак. Я откровенно говоря вообще не понимаю, за каким хреном это здесь нужно. Что мешает использовать сам метод?
необходимость нескольких имен
Я в коде необходимости не вижу. Зато вижу код, который легко прочесть не так и долго ломать голову, что это за новый метод неоткуда взялся.
https://github.com/Tishka17/aiogram_dialog/blob/develop/aiogram_dialog/manager/manager_middleware.py#L23 вот пример где я не знаю как по другому сделать. Мне нуно чтобы 3 метода были идентичны
class A: def _proto_method(self, ...): ... def method_1(self, *args, **kwargs): self._proto_method(*args, **kwargs) def method_2(self, *args, **kwargs): self._proto_method(*args, **kwargs) def method_3(self, *args, **kwargs): self._proto_method(*args, **kwargs) не так красиво, зато очевидно
Обсуждают сегодня