![]() |
1
26
并不是说Python不能,而是它不能,区别在于语言设计者选择遵循的类型系统。 Python使用duck类型,并且有类型化的对象,但没有类型化的变量名。编译时不检查类型约束;相反,对对象的操作可能会失败,这表示给定对象不是合适的类型。尽管Python是动态类型的,但它是强类型的,禁止未定义好的操作(例如,向字符串中添加一个数字),而不是默默地试图理解它们。 Scala是一种静态类型语言,即在编译时检查类型。本地类型推断机制注意到用户不需要用冗余的类型信息来注释程序。破坏类型约束的操作会导致编译器错误,而不是运行时错误。另见 The Purpose of Scala's Type System ,尤其是讨论duck类型的部分。 |
![]() |
2
3
Python不做静态类型推断,因为它想让您做在这种方案下不可能做的事情。例如:
x的类型应该是什么?
|
![]() |
3
-3
Python是动态类型的,而类型推断只能在静态类型的语言中实现。如果不放弃对诸如任意对象列表之类的特性的支持,就不可能实现静态类型。 |
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |