阿娇开发978 发表于 2017-5-6 10:38:06

零基础学python-3.5 内存管理

  * 变量无需事先声明
  *变量无需指定类型
  *程序员不用关系内存管理
  *变量名会被回收
  *del可以直接释放资源
  1.python使用的是引用调用,而不是值调用,他使用的回收算法是引用计数算法,我下面举两个例子

x = 4
y = 4
aList =
bList =
print(x is y)
print(x == y)
print(aList is bList)
print(aList == bList)
a = 3.2
b = 3.2
print(a is b)
print(a == b)



输出结果:  True

True

False

True

True

True

  从输出结果分析我们得出下面结论,
  1)如果单纯是整形、浮点型、字符串型这些,返回的都是同一个结果,因为它们值相同,而且引用的地址也相同
  2)如果是列表、元组、字典等,由于两个对象存储不同的地址,即便是值相同,但是如果对比引用地址,还是返回false
  

  

  2.通过del,可以删除对象
  接着上面的代码:

x = 4
y = 4
print(x is y)
print(x == y)
aList =
bList =
print(aList is bList)
print(aList == bList)
a = 3.2
b = 3.2
print(a is b)
print(a == b)
del a
a


输出结果:  True

True

False

True

True

True

Traceback (most recent call last):

File "D:\myWorkSpace\CRUDFile\com\ray\test\CRUDFile.py", line 14, in <module>

a

NameError: name 'a' is not defined

  

  出现错误信息,a变量没有定义,因为我们通过del 把a释放掉
  

  

  

  


版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: 零基础学python-3.5 内存管理