В методе экземпляра класса питона, я знаю, что мы можем получить имя класса с помощью self.__class__.__name__
Сохранение имени класса в переменной класса без ввода имени класса?
Однако, я хотел бы сохранить имя класса в переменном классе, без кодирования на имя класс.
Я знаю, что может сделать это, чтобы получить имя класса в переменный классе:
class MyClass(object):
pass
MyClass._myname = MyClass.__name__
Однако, я должен кодировать строковую MyClass
два раз за пределами определения класса, просто чтобы получить имя класса в переменную класса. В этом случае, это было бы "MyClass"
, который я просто код может следующим образом:
class MyClass(object):
_myname = "MyClass"
Но даже это является излишним, учитывая, что у меня есть код с жёстким "MyClass"
в MyClass
классе.
То, что я хотел бы, чтобы каким-то образом получить имя класса в переменную класса без кодирования имени класса, следующим образом:
class MyClass(object):
_myname = ???? # where ???? is a statement which returns the class
# name, in which the string "MyClass" does not appear
даже возможно ли это?
Ну, на самом деле, я слишком упростил проблему. Я действительно хочу, чтобы переменная класса содержала некоторые данные, зависящие от имени класса ... другими словами, это было бы результатом функции имени класса. – HippoMan
PS: Может ли вопрос поставить два ответа? Ответ от Bickkngt и ответ от Paul Panzer дают мне информацию, которую я ищу. Я хотел бы отметить оба ваших ответа, если это возможно. – HippoMan
@ HippoMan Вы можете выдвигать оба. Но примите, я уверен, что вы можете только один. –