Как мне найти класс моего статического метода внутри него? - PullRequest
0 голосов
/ 22 ноября 2011

Если я нахожусь внутри @staticmethod, как я могу найти имя текущего класса?

Поскольку у меня нет доступа к self.__class__.__name__

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

Как видно из этого ответа Как получить (под) имя класса из статического метода в Python?

Вы можете изменить @staticmethod на @classmethod, который принимает класс в качестве параметра:

class Bar(object):

    @classmethod
    def bar(cls):
        print cls.__name__
        ....
0 голосов
/ 22 ноября 2011

Если у вас есть контроль над методом (например, тот, который вы написали), лучше всего использовать вместо этого декоратор @classmethod.Это отправит класс в качестве первого аргумента:

class Spam(object):
    @classmethod
    def eggs(cls):
        return cls.__name__
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...