对象类型

标准类型
Integer、Boolean、Long integer、Floating point real number、Complex number、String、List、Tuple、Dictionary

其他内建类型
类型、Null对象(None)、文件、集合/固定集合、函数/方法、模块、类

内部类型
一般程序员接触不多

Python对象三个特性

  1. 身份:每个对象的唯一身份标识,可通过内建函数id()得到。
  2. 类型:决定对象保存什么类型的值,可通过内建函数type()得到。

is & is not

is和is not两个操作符测试两个变量是不是指向同一个对象。
a is b 相当于 id(a) == id(b)

整型和字符串对象时不可变对象,在创建对象时,可能不会真的创建对象,而且python会缓存简单整型。

标准类型的内建函数

cmp(obj1, obj2)
repr(obj) 或 `obj`
str(obj)
type(obj)

对象的声明

无需显式声明,在第一次被赋值的时候自动声明。
对象的类型和内存占用都是运行时确定的。

Python垃圾收集器

使用引用计数器来跟踪内存中的对象。

  1. 在对象创建并赋值给引用时计数器为1,被赋值给别名、作为参数传递、或被赋值为一个窗口对象的成员时,计数器增加。

  2. 减少计数器

    • 对象的引用被销毁时,计数器减小。
    • 当引用被赋值另一对象时,原对象计数器减一。
    • del显式销毁
    • 对象被从一个窗口对象中移除(list)
    • 窗口对象本身被销毁
  3. 垃圾收集机制
    垃圾收集器释放引用计数器为0的对象的内存,也负责检查计数器大于0单页应该被销毁的对象。
    当一个对象的引用计数器为0时,解释器会暂停,释放该对象和仅有该对象可到达的其他对象。
    作为计数器的补充,垃圾收集器会留心分配总量很大的内存,会暂停解释器,试图清理未引用的循环。

Python对象及内存管理相关推荐

  1. 什么是 Python 的 「内存管理机制」?

    什么是内存管理器(what) Python作为一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言,与大多数编程语言不同,Python中的变量无需事先申明,变量无需指定类型,程序员无需关心内存 ...

  2. Python如何进行内存管理?

    Python中主要通过引用计数和内存池机制进行内存管理. 一.引用计数机制 Python内部使用引用计数(记录对象有多少个引用)来保持追踪内存中的对象,当对象被创建时,该对象的引用计数加1;当对象被销 ...

  3. python内存池机制,python基础—12python内存管理机制

    一.内存池机制 1.对象池 面试题目: python内存管理机制是什么? 1). 由于python中万物皆对象,内存管理机制就是对象的存储问题,Python会分 配一块内存空间去存储对象. 2) 对于 ...

  4. 视频教程-iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-iOS

    iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化 小码哥教育CEO,曾开发了2个iOS的流行开源框架(MJRefresh.MJExtension),目前在国内的使用率非常高. 李 ...

  5. iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-李明杰-专题视频课程...

    iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-236人已学习 课程介绍         得遇名师,突飞猛进!iOS培训王者MJ(李明杰)老师精心研发,iOS进阶课程,实用技术 ...

  6. Python中的内存管理机制

    Python是如何进行内存管理的 python引用了一个内存池(memory pool)机制,即pymalloc机制,用于管理对小块内存的申请和释放 1.介绍 python和其他高级语言一样,会进行自 ...

  7. python内存回收垃圾有哪些_[Python之路] 内存管理垃圾回收

    一.python源码 1.准备源码 解压得到文件夹: 我们主要关注Include中的".h"文件以及Objects目录中的".c"文件. 我们从Include和 ...

  8. 6.Python深入_内存管理

    Vamei博客地址:http://www.cnblogs.com/vamei/p/3232088.html 哈,这次是完完全全照搬大神的了 语言的内存管理是语言设计的一个重要方面.它是决定语言性能的重 ...

  9. 简述python中的内存管理机制_Python中的内存管理机制

    Python是如何进行内存管理的 python引用了一个内存池(memory pool)机制,即pymalloc机制,用于管理对小块内存的申请和释放 1.介绍 python和其他高级语言一样,会进行自 ...

最新文章

  1. SynchronousQueue原理解析
  2. 5.spring boot使用FastJson解析JSON数据
  3. scikit-learn algorithm cheat sheet【汉化版】
  4. tf.nn.in_top_k的用法
  5. [网络开发]服务器开发
  6. Python 第三方模块之 selenium - 模拟操作 Chrome 浏览器
  7. ac自动机 匹配最长前缀_别再暴力匹配字符串了,高效的KMP,才是真的香
  8. vue光标插入内容_vue项目中在可编辑div光标位置插入内容的实现代码
  9. kali的软件包安装源配置
  10. c打开指定路径文件_Selenium 系列篇(五):文件篇
  11. python实践答辩ppt_看完这篇Python操作PPT总结,从此使用Python玩转Office全家桶没压力!...
  12. 微型计算机的输出有,微型计算机必不可少的输入/输出设备是()。 - 百科题库网...
  13. python之range与xrange使用区别
  14. c c++函数资源释放时避免goto的方法
  15. oracle 的insert into的详解
  16. python学习笔记_week19
  17. Java字节码魔法数字_Java的魔法:字节码
  18. U盘病毒的传播途径和如何安全使用U盘
  19. 构建/dev/kmem枚举所有Linux内核模块(包括隐藏的)
  20. mysql数据库表的多条件查询

热门文章

  1. 2020年最新App Store应用上架流程
  2. 【设备问题】罗技M590鼠标无法连接Macbook Pro问题解决
  3. 问世 20 年,QQ 要推出注销功能
  4. pc显示器分辨率 前端_@media 响应式PC端媒体查询屏幕分辨率尺寸总结
  5. 成功拿下阿里一面HashMap追魂二十三问
  6. 【XMind】用A4纸打印超长思维导图的方法!(超简单,不用转换!)
  7. 【爬虫】google浏览器+requests获取火车票信息
  8. 毕业设计:微博语料中文情感分析
  9. PDF文件被加密不能复制打印,一个方法教你解除
  10. 惠普,战66三代 i7 拆机照片指南