Я хочу, чтобы извлечь - имя «текущего» Methode - имя класса текущего объекта/экземпляр - имя класса следующего базового класса этого объекта/напримерПолучить имя текущего метода, имя класса текущего экземпляра, имя класса следующего вспомогательного экземпляра в многоразовом режиме с помощью Python3?
Проблемы в приведенный ниже пример заключается в том, что имя метода не совсем то, что я хочу. Но мне нужно сделать этот код многократным для многих классов. Я не хочу умножать этот код для каждого класса, в котором я нуждаюсь.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys, inspect
def notimpl_str(obj):
classname = obj.__class__.__name__
methode = sys._getframe().f_code.co_name
hi = inspect.getmro(obj.__class__)
nistr = 'In {}.{}()\nLook in {}.{}()' \
.format(classname,
methode,
hi[1].__name__,
methode)
return nistr
class Foo:
def test(self):
print(notimpl_str(self))
class Xoo(Foo):
def __init__(self):
self.test()
Xoo()
фон моего вопроса: Я хочу осуществить общий не реализованная-сообщения об ошибке, если кто-то назовет Xoo().test()
. Сообщение может быть Please implement Xoo.test(). See the documentation of Foo.test() for more details.
Рад, что вы смогли решить вашу проблему. :) – CrakC