python的动态类型
推荐
在线提问>>
为了理解动态类型,最好先理解其反面——静态类型。
静态类型语言有C、JAVA等。这些语言与它们的动态类型对应语言之间的主要区别在于类型检查。静态类型是在编译时进行类型检查,而动态类型是在运行时进行类型检查。
注:这是对动态类型和静态类型的平淡定义。其中具体的技术细节超出了本文要讨论的范畴。
由于Python的调试问题,以及Python语言如何使跟踪bug的过程变得比现在更复杂,一些开发人员对Python大发牢骚。
这种抱怨源于这样一个事实:作为一种动态类型语言,Python在运行时标记错误,这使得它比Java等静态类型语言更容易出错。
理论上,这是一个威胁,毕竟考虑到一个著名的谚语——是人都会犯错。但是在实践中,我怀疑类型错误有没有他们声称的那样严重。
说真的,现在谁还犯类型错误?
静态类型语言远不是一个无障碍的调试避风港。除了类型错误之外,大多数静态类型语言都无法捕获到你可能认为应该检测到的细微错误。这些错误同样发生在静态类型和动态类型中。
此外,几乎没有代码会不经过单元测试就部署。单元测试可以很好地防范类型错误。只有极少数情况下,类型错误会绕过单元测试来搞乱代码。在调试方面,编程语言的另一个特性是安全类型和不安全类型。允许用户重写系统类型的语言被认为具有不安全的类型——例如C。虽然不安全的类型给了用户对类型的控制,但它的误用会导致程序任意崩溃。
大多数静态类型语言都是不安全的类型系统。然而,JAVA是一种安全类型语言。Python和我所知道的其它动态类型编程语言也是如此。
最后,我更愿意使用像Python这样方便和高级的语言编写一百万次代码,而不是陷入JAVA等语言的低级细节中。
以上内容为大家介绍了python的动态类型,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/