python的动态类型
为了理解动态类型,最好先理解其反面——静态类型。
静态类型语言有C、JAVA等。这些语言与它们的动态类型对应语言之间的主要区别在于类型检查。静态类型是在编译时进行类型检查,而动态类型是在运行时进行类型检查。
注:这是对动态类型和静态类型的平淡定义。其中具体的技术细节超出了本文要讨论的范畴。
由于Python的调试问题,以及Python语言如何使跟踪bug的过程变得比现在更复杂,一些开发人员对Python大发牢骚。
这种抱怨源于这样一个事实:作为一种动态类型语言,Python在运行时标记错误,这使得它比Java等静态类型语言更容易出错。
理论上,这是一个威胁,毕竟考虑到一个著名的谚语——是人都会犯错。但是在实践中,我怀疑类型错误有没有他们声称的那样严重。
说真的,现在谁还犯类型错误?
静态类型语言远不是一个无障碍的调试避风港。除了类型错误之外,大多数静态类型语言都无法捕获到你可能认为应该检测到的细微错误。这些错误同样发生在静态类型和动态类型中。
此外,几乎没有代码会不经过单元测试就部署。单元测试可以很好地防范类型错误。只有极少数情况下,类型错误会绕过单元测试来搞乱代码。在调试方面,编程语言的另一个特性是安全类型和不安全类型。允许用户重写系统类型的语言被认为具有不安全的类型——例如C。虽然不安全的类型给了用户对类型的控制,但它的误用会导致程序任意崩溃。
大多数静态类型语言都是不安全的类型系统。然而,JAVA是一种安全类型语言。Python和我所知道的其它动态类型编程语言也是如此。
最后,我更愿意使用像Python这样方便和高级的语言编写一百万次代码,而不是陷入JAVA等语言的低级细节中。
以上内容为大家介绍了python的动态类型,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/
猜你喜欢LIKE
相关推荐HOT
更多>>Python在智能化运维中的运用
在传统信息化运维系统当中,最核心的组成部分主要包括系统运行监控、呼叫中心、运维团队等等,在过去这些核心组成部分是可以有效地完成信息系统...详情>>
2023-11-11 21:31:20使用Black自由格式化Python
Python是当今使用最多的流行编程语言之一,因为:它是开源的,它有广泛的用途(例如Web编程、业务应用、游戏、科学编程等等),它有一个充满活力...详情>>
2023-11-11 20:18:22Python内存管理机制之Pymalloc
PymallocPython实现了一个内存池(memorypool)机制,使用Pymalloc对小块内存(小于等于256kb)进行申请和释放管理。当Python频繁地创建和销毁一些...详情>>
2023-11-11 19:07:03Python 参数知识
过量的参数在运行时知道一个函数有什么参数,通常是不可能的。另一个情况是一个函数能操作很多对象。更有甚者,调用自身的函数变成一种api提供...详情>>
2023-11-11 17:33:53