Python对象剖析

Python是面向对象语言,在Python世界中,一切皆是对象,一个整数是一个对象,一个字符串也是一个对象。更奇妙的是,类型也是一个对象,在Python虚拟机(解释器)执行代码过程中,也会生成许多对象,包括一个模块、代码块、函数等。

一、Python对象分类

Python对象在概念上可以分为5类。

  • Fundamental对象:类型对象
  • Numeric对象:数值对象
  • Sequence对象:容纳其他对象的序列集合对象
  • Mapping对象:映射(关联)对象
  • Internal对象:Python虚拟机在运行时内部使用的对象

时间: 2024-10-13 02:23:25

Python对象剖析的相关文章

python源码剖析笔记1——Python对象初见

python源码剖析笔记1--Python对象初见 工作整两年了,用python最多,然而对于python内部机制不一定都清楚,每天沉醉于增删改查的简单逻辑编写,实在耗神.很多东西不用就忘记了,比如C语言,正好,python源码用C写的,分析python源码的同时又能温故C语言基础,实在是件很好的事情.另外,还有陈儒大神的<python源码剖析>做指引,分析也不至于没头没脑.期望在一个月的业余时间,能有所小成,以此为记. 1 python中的对象 python中,一切东西都是对象,在c语言实现

《python源码剖析》笔记 python对象初探

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.      在python中,对象就是为C中的结构体在堆上申请的一块内存.对象不能被静态初始化,也不能在栈空间生存.但内建的类型对象都是被静态初始化的. 2.      对象创建后大小不变.可变对象有一指针指向可变大小的内存区域. 3.      对象机制的基石:PyObject 定长对象: typedef struct _object{ PyObject_HEAD }PyObject

《python源代码剖析》笔记 python中的Dict对象

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.PyDictObject对象 -->  C++ STL中的map是基于RB-tree的,搜索时间复杂度是O(logN) PyDictObject採用了hash表,时间复杂度是O(1) typedef struct{ Py_ssize_t me_hash; //me_key的hash值,避免每次查询都要又一次计算一遍hash值 PyObject *me_key; PyObject *me

python对象序列化或持久化的方法

http://blog.csdn.net/chen_lovelotus/article/details/7233293 一.Python对象持久化方法 目前为止,据我所知,在python中对象持久化有以下几种方法: 1. 使用(dbhash/bsddb, dbm, gdbm, dumbdbm 等)以及它们的"管理器"( anydbm ).只提供了 Python 字 符串的永久性储存. 提供一个类似字典和文件的对象,可以完成字符串的永久性存储. 2. 使用marshal和pickle来序

Python回顾与整理2:Python对象

0.说明 说对象是面向对象编程语言最重要的一部分一点也不为过,没有了"对象",面向对象将无从谈起.Python也是如此,如果无法掌握对象,你很难有大的进步与提升. 1.Python对象 (1)对象特性 Python使用对象模型来存储数据,构造任何类型的值都是一个对象,所有的Python对象都拥有下面的三个特性: 身份:每个对象一唯一身份标识,可使用内建函数id()查看该值(可以认为这个值是该对象的内在地址) 类型:对象的类型决定了对象(可以保存什么类型的值,进行什么样的操作,遵循什么样

【4】Python对象

本章主题 Python对象 内建类型 标准类型操作符 值的比较 对象身份比较 布尔类型 标准类型内建函数 标准类型总览 各种类型 不支持的类型 Python对象 Python使用对象模型来存储数据.构造任何类型的值都是一个对象.所有Pyhon对象都拥有三个特性:身份,类型和值. 标准类型 其他内建类型 我们可以使用内建函数type()得到特定对象的类型信息. None------Python的NULL对象 内部类型 代码 帧 跟踪记录 切片 省略 Xrange 代码对象 ...... 帧对象 帧

Python对象(下)

前面一篇文章介绍了一些Python对象的基本概念,这篇接着来看看Python对象相关的一些内容. Python对象的比较 Python对象有三个要素:身份,类型和值,所以我们就分别从这三个角度出发看看对象之间的比较. 对象身份比较 对象身份的比较,其实就是比较对象的内存地址,即内建函数id()的结果比较.可以用来判断不同的变量是否指向了同一个地址. 直接看例子: 通过例子的输出可以得到,f1和f2指向了不同的对象(地址):但是,i1和i2却指向了相同的对象(地址). 之所以产生这种差异,是因为P

Python对象(上)

Python是一门面向对象的语言,在Python中一切都是对象,函数是对象,类型也是对象. 下面就看看Python中对象相关的内容. Python对象基本概念 Python对象有三个基本的要素: 身份:对象的唯一性身份标志,是该对象的内存地址(可用内建函数id()获得) 类型:对象的类型决定了该对象可以保存什么类型的值,可进行什么样的操作(可用内建函数type()获得) 值:对象代表的数据 下面看看以下代码: num =7 print id(num) print type(num) print

Python 二、Python对象类型及其运算

一.Python对象的相关术语 Python中一切皆对象,python程序中保存的所有数据都是围绕对象这个概念展开的:所有的对象都是由类实例化而来的,只不过这些类有些是python内置的类:例如,整数和浮点数,字符串都是由python内置的类实例化而来的.除此之外用户还可以自定义类型,就是类. python程序中存储的所有数据都是对象 每个对象都有一个身份.一个类型和一个值 例如,school="MaGe Linux"会以"MaGe Linux"创建一个字符串对象,