如何从 reStructuredText 获取属性类型?
How get Type of attribute from reStructuredText?
如何从reStructuredText中获取属性类型?
我有这样的东西。
@property
def port(self):
"""Get port.
:return: port
:rtype: str
"""
return self._port
如何获取属性类型 (str)?
代码片段是你的吗?如果是,您可以使用任何您喜欢的机制,例如直接向函数添加一个属性以供以后检查:SomeClass.port.fget.return_type = int
。试一试,它有效。只注意通过 class 来限定 属性,而不是通过实例(或在实例上使用 .__class__
)。
如果没有,parse port.__doc__
并提取相关字段。
如果您 CPU-受限,您仍然可以使用例如SQL没有 ORM 层的炼金术。它可以提前从 table 模型 中生成非常有效的 SQL, 例如在启动期间。然后您只需使用正确的参数调用它们,花费相当少的 CPU 时间。在大多数情况下,数据库往返使查询创建和结果解码相形见绌。
同样适用于解析 RST:您可以提前完成,例如作为构建步骤,并将信息存储在易于解析的文件中,例如JSON 甚至是 pickled Python 数据,并在启动时快速加载它。
如何从reStructuredText中获取属性类型? 我有这样的东西。
@property
def port(self):
"""Get port.
:return: port
:rtype: str
"""
return self._port
如何获取属性类型 (str)?
代码片段是你的吗?如果是,您可以使用任何您喜欢的机制,例如直接向函数添加一个属性以供以后检查:SomeClass.port.fget.return_type = int
。试一试,它有效。只注意通过 class 来限定 属性,而不是通过实例(或在实例上使用 .__class__
)。
如果没有,parse port.__doc__
并提取相关字段。
如果您 CPU-受限,您仍然可以使用例如SQL没有 ORM 层的炼金术。它可以提前从 table 模型 中生成非常有效的 SQL, 例如在启动期间。然后您只需使用正确的参数调用它们,花费相当少的 CPU 时间。在大多数情况下,数据库往返使查询创建和结果解码相形见绌。
同样适用于解析 RST:您可以提前完成,例如作为构建步骤,并将信息存储在易于解析的文件中,例如JSON 甚至是 pickled Python 数据,并在启动时快速加载它。