Как я могу надежно получить модуль и класс текущего метода класса в Python, даже с использованием наследования и динамичPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу надежно получить модуль и класс текущего метода класса в Python, даже с использованием наследования и динамич

Сообщение Anonymous »

Я сталкивался с ситуациями, когда стандартные методы, такие как __module__ и __class__, становились ненадежными из-за иерархии наследования или создания классов на основе метаклассов. Мне нужен надежный подход, который позволит точно идентифицировать модуль и класс, независимо от сложности структуры класса.
Вот пример потенциальной проблемы:

Код: Выделить всё

class BaseClass:
@classmethod
def mymethod(cls):
print(cls.__module__, cls.__name__)

class DerivedClass(BaseClass):
pass

DerivedClass.mymethod()
Это выведет __main__ DerivedClass, что может быть нежелательным результатом, если вам нужно различать методы базового класса и производного класса.
Я ищу решение, которое способно справиться с подобными сценариями и предоставить точную информацию о модулях и классах даже при наличии наследования, метаклассов и других сложных конструкций Python.>

Подробнее здесь: https://stackoverflow.com/questions/791 ... d-in-pytho
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»