LINUX.ORG.RU

Как реализовать method unbinding?

 


0

1
class C(object):
    def instance_method(self):
        pass

    @classmethod
    def class_method(cls):
        pass

c = C()

unbind(c.instance_method)(c)
unbind(C.class_method)(C)

Как реализовать unbind из куска кода выше, который позволит явно передать методу экземпляра или методу класса переменные self и cls?



Последнее исправление: justluke (всего исправлений: 1)

Ответ на: комментарий от thesame

получается, оба случая можно одинаково анбиндить

c.instance_method.__func__(c)
C.class_method.__func__(c)

thesame ★★★★
()

На сколько помню из док, ты можешь сделать тупо func = Class.method и получишь то что хочешь. На этом шаге оно должно автоматом преобразовать class method в обычную функцию.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.