gpt4 book ai didi

python - python 中真的存在联合类型吗?

转载 作者:太空宇宙 更新时间:2023-11-03 21:41:18 25 4
gpt4 key购买 nike

既然Python是动态类型的,我们当然可以这样做:

def f(x):
return 2 if x else "s"

但这就是 python 真正的用途吗?或者换句话说,联合类型是否像 Racket 中那样存在?或者我们只像这样使用它们:

def f(x):
if x:
return "s"

我们唯一需要的“联合”是 None 吗?

最佳答案

仅当您拥有静态类型语言时才需要联合类型,因为您需要声明一个对象可以返回多种类型之一(在您的情况下是 intstr,或在其他示例中 strNoneType)。

Python 仅处理对象,因此根本不需要考虑“联合类型”。 Python 函数返回它们返回的内容,如果程序员想要为不同的结果返回不同的类型,那么这就是他们的选择。这种选择就是一种架构选择,对 Python 解释器没有任何影响(因此这里没有什么可以“基准测试”)。

Python 3.5 确实引入了创建可选类型提示的标准,该标准包括 Union[...]Optional[...]注释。类型提示在运行时之外添加了可选的静态类型检查,就像 TypeScript 中的类型不属于 JavaScript 运行时一样。

关于python - python 中真的存在联合类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52840651/

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