gpt4 book ai didi

python - 在 Python 文档中保持别名类型简单?

转载 作者:行者123 更新时间:2023-12-03 22:30:05 24 4
gpt4 key购买 nike

我正在尝试使用 typing模块来记录我的 Python 包,并且在许多情况下,函数参数允许使用几种不同的类型。例如,您可以传递一个数字、一个 Envelope 对象(我的包中的一个类),或者一个构造 Envelope 的数字列表,或者一个构造信封的数字列表列表。所以我做了一个别名类型如下:

NumberOrEnvelope = Union[Sequence[Real], Sequence[Sequence[Real]], Real, Envelope]
然后我编写函数:
def example_function(parameter: NumberOrEnvelope):
...
这对我来说看起来很棒。然而,当我使用 Sphinx 创建文档时,我最终得到了这个非常不可读的函数签名:
example_function(参数:Union[Sequence[numbers.Real],Sequence[Sequence[numbers.Real]],numbers.Real,expenvelope.envelope.Envelope])
当我开始尝试在 PyCharm 中使用该函数时弹出的提示也是如此。
有什么方法可以让它保留为“NumberOrEnvelope”。理想情况下,这也将在文档中链接到对“NumberOrEnvelope”是什么的澄清,尽管即使没有,它也会比现在出现的要好得多。

最佳答案

对此的支持似乎正在进行中。

  • Issue #6518 .
  • 该问题可以通过最近对 Pull Request #8007 的更新来解决。 (正在审查中)。

  • 如果您想尽快修复,您也许可以尝试使用该版本。

    关于python - 在 Python 文档中保持别名类型简单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60028577/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com