Получить ссылку на класс из ссылки на метод
У меня есть код:
class MyClass:
def my_method(self):
passs
method = MyClass.my_method
Могу я как-то из переменной method получить ссылку на класс MyClass?
Ответы (1 шт):
Автор решения: GrAnd
→ Ссылка
Можно при помощи inspect.
class MyClass:
A = 111
def my_method(self):
pass
method = MyClass.my_method
import inspect
def get_class(method):
return getattr(inspect.getmodule(method),
method.__qualname__.split('.<locals>', 1)[0].rsplit('.', 1)[0],
None)
cls = get_class(method)
print(cls, cls.A)
<class '__main__.MyClass'> 111
На английском SO есть не один тред на эту тему. Вот, к примеру.