Как получить название недвижимости в python - PullRequest
0 голосов
/ 17 июня 2020

Как получить название собственности в python? Любые предложения приветствуются.

Для функций и методов это так же просто, как f.__name__.

Но свойства не имеют атрибута __name__.

Ответы [ 2 ]

1 голос
/ 17 июня 2020

У свойства нет имени, но вы, вероятно, действительно ищете имя его атрибута fget, который (игнорируя любое перетасовку, выполненное после факта) будет именем атрибута класса, для которого property экземпляр привязан.

class A:
    @property
    def foo(self):
        return 3


assert A.foo.fget.__name__ == "foo"
0 голосов
/ 17 июня 2020

Если вы знаете родительский класс, dir(), vars() и в первую очередь __dict__() - это то, что вы ищете. Если у вас есть только сам атрибут вне контекста класса, то я считаю, что вы не можете этого сделать.

...