Найти - Пользователи
Полная версия: Строка документации класса
Начало » Python для новичков » Строка документации класса
1
Python_love_1
Здравствуйте, подскажите, пожалуйста, есть класс, есть строка документации класса:
 class A(B):
    """
    Здесь текст $var
    """

Можно как-нибудь вывести в этой строке результат функции var, определенной в классе В?
Rodegast
Нет.
Djo0513
Python_love_1
 class a:
    @staticmethod
    def hello():
        return 10
class b(a):
    __doc__ = """
    Hello it is {0}
    """.format(a.hello())
print(b.__doc__)
x = b()
print(x.__doc__)
Можно, но только осторожно. Я всего лишь воспользовался статичным методом наследуемого класса так как он к экземпляру отношения почти не имеет.
Rodegast
> Можно, но только осторожно.

Технически это возможно, но вот только никакого практического смысла в этом нет.

> Я всего лишь воспользовался статичным методом наследуемого класса

Зачем так сложно? Всё намного проще:
 >>> class A:
...     """
...     123
...     """
>>> A.__doc__
'\n    123\n    '
>>> A.__doc__ = "12345445"
>>> A.__doc__
'12345445'
Djo0513
Rodegast
Там просили ко всему этом делу подключить ещё результат функции из наследуемого класса поэтому и сложновато получилось). А если объективно - да, смысла никого нету, разве, что на собеседовании себя показать…
JOHN_16
Я вот вангую, и говорю что автор хочет реально того что он описал в первом посте - а именно шаблонность на уровне ну никак не рантайма. В общем не надо додумывать и типа показывать какие вы тут умные все =) а просто воспользоваться ответом Rodegast - нет. Именно в той постановке которой подарузумевает автор.
Python_love_1
Да, необходима только шаблонность
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB