【发布时间】:2021-08-29 12:37:56
【问题描述】:
标量类型检查在 Python (v 3.8.6) 中不起作用。
def test(x: int) -> int:
print(type(x))
return x
a = test('a')
没有 int 作为输入参数完全没有关系。它也不表示 int 不是输出参数。
输出:
<class 'str'>
我希望有 ValueError!
【问题讨论】:
-
Python 是动态输入的,输入只是提示而不是规则
-
这不是 Python 类型提示的工作方式。执行
x: int并不要求x成为int。什么是向 IDE 提供提示,如果您调用函数的方式与类型提示不一致,该提示可以警告您。如果您只喜欢使用强类型语言进行编程,那么 Python 可能不适合您。