Вам нужно вызвать .lookup
в модели Bokeh (класс или экземпляр), чтобы получить дескриптор свойства, после чего он доступен через атрибут __doc__
:
In [1]: from bokeh.models import DataRange1d
In [2]: print(DataRange1d.lookup('start').__doc__)
An explicitly supplied range start. If provided, will override
automatically computed start value.
Вы можете захотеть dedent
или убрать пробелы из результата, в зависимости от вашего варианта использования.
Если у вас есть или вы можете создать фактические экземпляры моделей Боке по умолчанию, тогда вы можете получить значение свойства по умолчанию, просто проверив его, то есть посмотрите значение range.start
. Это, вероятно, предпочтительнее, если это возможно.
В противном случае, если вы имеете дело только с классами, получить значение по умолчанию немного сложнее:
In [7]: d = DataRange1d.lookup('start')
In [8]: print(d.class_default(DataRange1d))
None
Обратите внимание, что некоторые модели Bokeh имеют значения по умолчанию для конкретного экземпляра, к ним также можно получить доступ следующим образом:
In [9]: r = DataRange1d()
In [11]: print(d.instance_default(r))
None
Но опять же, если у вас есть экземпляр, вы также можете просто посмотреть на .start
напрямую. Если вы не установили его явно, вы увидите значение по умолчанию. (Также обратите внимание, что в конкретном случае DataRange1d
класс и экземпляр по умолчанию совпадают.)
EDIT Также, возможно, стоит упомянуть, что в репозитории проекта есть сценарий, который будет выгружать BLSON-объект JSON с каждой моделью Bokeh и ее свойствами, включая значения по умолчанию, тип и т. Д. сценарий очень большой , но если лучше, чтобы вся информация была в одном месте, это обеспечит:
https://github.com/bokeh/bokeh/blob/master/scripts/spec.py