zoukankan      html  css  js  c++  java
  • python内存管理

    python对象三要素:
    
    identity(值):对应于内存的地址,不可修改
    type(类型):不可修改
    value(值):
      mutable :可以修改
      immutable:不可以修改
    
    
    引用计数
    当引用计数为0的时候,GC才会真正去回收补分配的内存
    
    >>> def f():
    ...     pass
    ... 
    >>> id(f)
    139655884671288
    >>> fa=f
    >>> id(fa)
    139655884671288
    >>> del fa
    >>> del f
    
    
    
    
    
    id()
    返回对象的内存地址
    用来判断是不是同一个内存对象
    
    
    整型缓部池(0-1000)
      1.对一一定范围的整型,python在内存中提前进行了分配
      2.可以通过修改源码重新编译python来修改缓冲池的范围
      3.不会被回收
    
    整型在同一个地址:
    
    >>> a=1
    >>> b=1
    >>> id(a)
    19419960
    >>> id(b)
    19419960
    
    类对象不在一个地址
    >>> class A:
    ...     pass
    ... 
    >>> c=A()
    >>> d=A()
    >>> id(c)
    140100598572888
    >>> id(d)
    140100598572960
    
    
    is语句:  
       用来判断两个变量是不是指向同一个存对象
  • 相关阅读:
    javascript概述
    linux系统编程(一)概述
    软件工程
    SQL
    数据结构和算法(一)概述
    cpp标准库
    c语言标准库
    c/c++概述
    编程语言的思考
    GCD学习
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5523067.html
Copyright © 2011-2022 走看看