gpt4 book ai didi

python - 为什么在 python3 中不检查返回类型?

转载 作者:太空狗 更新时间:2023-10-30 00:42:53 27 4
gpt4 key购买 nike

<分区>

示例来自 PEP 484 -- Type Hints

def greeting(name: str) -> str:
return 'Hello ' + name

str调用函数的正确方法

>>> greeting("John")
'Hello John'

如果我用 int 调用它:

>>> greeting(2)
TypeError: must be str, not int

调用列表

>>> greeting(["John"])
TypeError: must be str, not list

一切正常吧? greeting 函数始终接受 str 作为参数。

但如果我尝试测试函数返回类型,例如,使用相同的函数但将返回类型更改为 int。

def greeting(name: str) -> int:
return 'Hello ' + name

函数返回 str 但类型定义为 int,并且没有引发异常:

>>> greeting("John")
'Hello John'

另一个例子:

def greeting(name: str) -> str:
return len(name)

>>> greeting("John")
4

虽然 PEP 484 说返回类型应该是 str,但它实际上并不类似于上面示例中的参数类型检查。

This states that the expected type of the name argument is str. Analogically, the expected return type is str.

我是不是遗漏了什么或者没有对返回类型进行类型检查?

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