zoukankan      html  css  js  c++  java
  • 零基础学python-3.5 内存管理

    * 变量无需事先声明

    * 变量无需指定类型

    * 程序猿不用关系内存管理

    * 变量名会被回收

    * del能够直接释放资源

    1.python使用的是引用调用,而不是值调用,他使用的回收算法是引用计数算法,我以下举两个样例

    x = 4
    y = 4
    aList = [1, 2, 3]
    bList = [1, 2, 3]
    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 = [1, 2, 3]
    bList = [1, 2, 3]
    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:myWorkSpaceCRUDFilecom ay estCRUDFile.py", line 14, in <module>
        a
    NameError: name 'a' is not defined


    出现错误信息,a变量未定义,由于我们通过del 把a释放掉





  • 相关阅读:
    Linux网络编程必看书籍推荐
    SpringMVC DispatcherServlet初始化过程
    freemarker写select组件(五)
    hdu 1009 FatMouse&#39; Trade
    新IOS编程语言 Swift 新编译器Xcode6
    NoSQL数据库:数据的一致性
    POJ 3041 Asteroids
    POJ 3342 Party at Hali-Bula (树形dp 树的最大独立集 判多解 好题)
    __repr__与__str__
    HDU 4950 Monster(公式)
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8778279.html
Copyright © 2011-2022 走看看