Python 有没有办法在自动生成的gui中使用类成员的docstring?
我正在自动创建一些gui组件来修改参数类的成员。 因为我有很多这样的组件,所以我尝试尽可能地自动化gui组件的创建 我想知道是否有任何方法可以使用docstring,例如在变量声明之后用三重引号字符串定义Python 有没有办法在自动生成的gui中使用类成员的docstring?,python,docstring,Python,Docstring,我正在自动创建一些gui组件来修改参数类的成员。 因为我有很多这样的组件,所以我尝试尽可能地自动化gui组件的创建 我想知道是否有任何方法可以使用docstring,例如在变量声明之后用三重引号字符串定义 class Params: def __init__(self): self.parameter_1 = 'value1' """docstring 1""" self.parameter_2 = 'value2' """
class Params:
def __init__(self):
self.parameter_1 = 'value1'
"""docstring 1"""
self.parameter_2 = 'value2'
"""docstring 2"""
def get_widget(param):
for name, value in vars(params):
# create the gui component
# but how to access "docstring 1 or 2" ???
简言之,我希望在生成gui组件时访问字符串docstring 1
,并将其用作显示提示
将文档放到gui中,并保持代码文档的紧凑性和与gui的同步性似乎是最有效的
这可能吗,好的做法?有没有其他方法可以达到同样的目标
谢谢听起来像。最好将参数定义为普通对象/命名元组或dict/list/tuple
def __init__(self):
self.parameter_1 = {value: 'value', hint: 'hint about param'}
self.parameter_2 = ('value', 'hint')
self.parameter_3 = Parameter(value='value', hint='hint') #assuming you've defined Parameter = namedtuple('Parameter', ['value', 'hint'])
你可以使用属性。属性包含getter、setter、deleter和docstring
class C:
def __init__(self):
self._x = None
@property
def x(self):
"""Docstring goes here."""
return self._x
@x.setter
def x(self, value):
self._x = value
@x.deleter
def x(self):
del self._x
然后您将拥有一个属于C.x的docstring:
>>> C.x.__doc__
Docstring goes here.
Python没有属性docstrings的概念。一些外部工具可以识别这样的docstring,但是Python本身并没有对它们做任何处理,我不认为这是一个xy问题。蟒蛇富含合成糖。我试图找到一个避免使用dict或特定类作为参数的方法,这会使您在想要访问更复杂的类型提示值时更加冗长,谢谢您的建议。那就行了。。。除了紧凑性!(每个参数14行)