动态类型语言(即Python)在运行时执行类型检查,因此变量或参数可以引用任何类型的值。 语言定义是否需要变量和参数不能输入? 将语言修改为具有类型的变量和参数是否有意义?动态类型语言中的类型
0
A
回答
1
这个问题可能会得到关闭,除非有人像@乔恩 - 碟摆好保存。直到那时,我相信任何来自强类型编程背景的人都会争论至少指定打字的选项。但是在这一天结束时,语言的创建者/修饰者不喜欢足够的输入要求,所以不会付出任何努力来允许指定类型的可能性。所以即使它真的很有意义,我也不会指望它发生。
从我简短的研究,它显示python不允许指定类型。但你可以使用isinstance检查类型http://docs.python.org/library/functions.html#isinstance
现在作为个人意见的问题,我说为什么不。如果相关语言的维护者/创建者可以以不影响效率/语言实际意图的方式进行操作,那么他们至少应该允许有兴趣的人添加指定类型的能力来执行此操作。
0
您可以混合使用静态和动态类型;有很多语言可以做到这一点。
在最简单的情况下,您将拥有包含所有类型为object
(使用Python术语)的类层次结构。每个“无类型”变量都有object
类型,因此它可以容纳任何变量。其他变量可能有更多特定类型,如int
。
实现仍然需要执行运行时类型检查,但它可以优化掉编译时可以确定类型的检查。
Cython有类似的功能,但它的静态类型部分卸载到一个C编译器:
def foo():
cdef int i = 0 # statically typed variable
ham = "spam" # dynamically typed variable
while i < 10:
print(ham)
i += 1
相关问题
- 1. 以动态语言检查类型
- 2. 口译员和动态类型语言
- 3. 用动态类型语言重构
- 4. 在静态类型语言D中使用动态类型输入
- 5. 自然语言类型的子类型
- 6. 静态类型语言的类型在运行时决定?
- 7. 弱类型或强类型语言
- 8. 设计模式列表仅适用于静态类型语言,但不适用于动态类型语言?
- 9. Groovy中动态类型的类型
- 10. 在鸭子型语言中模拟静态类型的方面
- 11. 获取动态类型的类类型?
- 12. 如何用动态类型语言指定参数类型,即Python?
- 13. Prolog是一种无类型的语言吗? Prolog和动态类型语言有什么区别?
- 14. 如何在动态类型语言中描述函数参数?
- 15. c语言类型转换
- 16. 声音类型系统的语言是强类型语言的子集吗?
- 17. 值得动态类型语言的所有批评?
- 18. C语言中的Lazarus指针类型#
- 19. 类似C语言的返回类型多态性
- 20. 动态类型语言和远程方法调用
- 21. 在泛型中的动态类型
- 22. 如何支持名义类型语言的结构类型?
- 23. 静态类型语言中的合并操作符
- 24. ActionScript动态类型?
- 25. 动态类型ViewPage
- 26. Haskells类型系统以何种方式比其他静态类型语言的类型系统更有用
- 27. 面向Web的语言:类C语法,强类型和静态类型。任何人?
- 28. c语言。函数的返回类型
- 29. 静态和动态类型
- 30. 静态与动态类型
您原来的问题已关闭。你需要做的不是轻微的措词改变,而是再次提问。 – Abizern 2013-05-07 15:37:41
多种语言可以做到这一点:渐进式输入,动态类型语言的类型推断,契约,你的名字。 – 2013-05-07 15:42:28
提问的方式有什么问题? – akonsu 2013-05-07 15:47:26