Изменить атрибут метода в python3 - PullRequest
0 голосов
/ 25 апреля 2020

Я хочу сделать атрибуты метода изменяемыми в Python 3, так как регистрация Blueprint в Sani c устанавливает атрибут __blueprintname__ на маршруте, и я хочу использовать методы экземпляра в качестве маршрутов.

Настройка проста:

class A:
    def test(self):
        return 1

class B:
    @staticmethod
    def test():
        return 2

a = A()
a.test.attr = 1  # that throws AttributeError: 'method' object has no attribute 'attr'

b = B()
b.test.attr = 2  # that works OK

Есть ли какая-либо конкретная причина, по которой я могу изменить атрибут метода stati c, но не могу сделать это обычным методом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...