美文网首页
Python动态类型dynamic typing, 2022-0

Python动态类型dynamic typing, 2022-0

作者: Mc杰夫 | 来源:发表于2022-06-16 18:51 被阅读0次

    (2022.06.16 Thur)
    Python是动态类型语言dynamic typing,这意味着python中的变量或容器,在声明时无需标记其类型,如int,float,str等。而其类型是编译器在运行代码的时候做类型检测type check。

    相比之下,静态类型语言static typing,比如Java,C++等,类型检测在编译时执行(先编译再运行)。

    动态类型的核心是引用和对象分离。在Python中赋值是将对象的指针保存到变量中,调用对象则根据该指针/引用找到对应的对象。比如下面例子

    >> x=[1,2]
    >> y=x
    >> x.append(4)
    >> y
    [1, 2, 4]
    

    变量x被赋值[1, 2],实为指向了[1, 2]。y被赋值x,是y指向x指向的数组,所以当x对数组做了append操作,调用y也会看到对应的数组执行了相同的操作,其实他们指向的同一个数组。

    动态类型语言中变量一旦被赋值,仍然可以修改该变量值,但在静态类型语言中,变量经过声明类型,则无法赋予类型以外的数值。

    同时,静态语言比动态语言运行速度更快。

    相关文章

      网友评论

          本文标题:Python动态类型dynamic typing, 2022-0

          本文链接:https://www.haomeiwen.com/subject/ttvqvrtx.html