我试图使用typing
模块来记录我的Python包,我有很多情况,其中函数参数允许使用几种不同的类型。例如,您可以传递一个数字、一个信封对象(我的包中的一个类),或者传递一个从中构造信封的数字列表,或者传递一个从中构造信封的数字列表。因此,我创建了一个别名类型,如下所示:
NumberOrEnvelope = Union[Sequence[Real], Sequence[Sequence[Real]], Real, Envelope]
然后我编写函数:
def example_function(parameter: NumberOrEnvelope):
...
我觉得这很好。然而,当我使用Sphinx创建文档时,我最终得到了一个可怕的无法读取的函数签名:
示例_函数(参数:Union[Sequence[numbers.Real]、Sequence[Sequence[numbers.Real]、numbers.Real、expenvelope.envelope.envelope])
当我开始尝试使用PyCharm中的函数时,也会弹出提示
有什么办法可以让我把它留作“号码信封”吗。理想情况下,这也会在文档中链接到对什么是“NumberOrEnvelope”的澄清,尽管即使没有,也会比现在出现的要好得多
对此的支持似乎正在进行中
见^{}
这个问题可以通过最近对^{} 的更新(审查中)来解决
如果您希望尽快修复,您可以尝试使用该构建
编辑:遗憾的是,这不太管用
经过一番搜索,我找到了我要找的东西。而不是:
我发现您可以创建自己的复合类型来完成相同的任务:
正如我所希望的,它在文档中显示为“NumberOrEnvelope”
相关问题 更多 >
编程相关推荐