• [Python] 动态类型的实现


    大多数编译型语言,变量在使用前必须先声明,其中的 C 语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前。其它语言,像C++和Java,允许“随时随地”声明变量,比如,变量声明可以在代码块的中间,不过仍然必须在变量被使用前声明变量的名字和类型。

    在Python 中,无需此类显式变量声明语句,变量在第一次被赋值时自动声明,Python 中不但变量名无需事先声明,而且也无需类型声明。Python 语言中,对象的类型和内存占用都是运行时确定的。尽管代码被编译成字节码,Python 仍然是一种解释型语言。在创建--也就是赋值时,解释器会根据语法和右侧的操作数来决定新对象的类型。在对象创建后,一个该对象的引用会被赋值给左侧的变量。


    a = 3
    print a
    3
    a = 'abc'
    print a
    abc


    垃圾收集器

    从上面可以看出,变量时引用,对象存储在内存中,一个对象可能有0个或多个变量引用它,但没有变量引用该对象时,该对象无法访问,垃圾收集器就可以在适当的时候回收该对象,以释放内存。Python的垃圾收集器和Java的很类似。

  • 相关阅读:
    Java实现蓝桥杯正则切分
    VS2013 预定义的宏
    VS2015编译boost1.62
    linux 下Qt WebEngine 程序打包简单记录
    Visual Studio 默认保存为UTF8编码
    微型Http服务器Tiny Http Server
    Bootstrap Paginator分页插件
    Web前端框架与类库
    开发与常用工具清单
    程序员修炼之道
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3072123.html
Copyright © 2020-2023  润新知