Я хочу сделать атрибуты метода изменяемыми в 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, но не могу сделать это обычным методом?