博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Python] 动态类型的实现
阅读量:5303 次
发布时间:2019-06-14

本文共 539 字,大约阅读时间需要 1 分钟。

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

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

 

a = 3print a3a = 'abc'print aabc

垃圾收集器

 

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

 

转载于:https://www.cnblogs.com/jiangu66/archive/2013/05/11/3073339.html

你可能感兴趣的文章
从AngularJS2谈到前台开发工程化
查看>>
Python的基本类型介绍和可变不可变
查看>>
笔记整理之 Bulk Insert
查看>>
利用ant的javac任务来编译java程序
查看>>
ant—学习记录一
查看>>
根据访问设备自动识别展示手机站或PC站的方法
查看>>
Passwords Gym - 101174E (AC自动机上DP)
查看>>
手工搭建ABP框架(1) - Web项目
查看>>
设置虚拟wifi,手机和电脑可以连接
查看>>
Android下新浪微博和腾讯QQ第三方登陆链接备注
查看>>
线段树专题
查看>>
查看数据库里阻塞和死锁情况
查看>>
函数进阶三(生成器、生成器表达式、匿名函数)
查看>>
Linux ALSA声卡驱动之四:Control设备的创建
查看>>
hashmap两种遍历方法
查看>>
扩展欧几里得
查看>>
实例化Bean
查看>>
python-图像目标监测(1)识别答题卡
查看>>
linux查看文件夹大小,备份文件夹zip压缩解压
查看>>
Jquery中each的三种遍历方法
查看>>