什么是python对象

python使用对象模型来存储数据,也就是说构造任何类型的值都是一个对象。所有的python对象都拥有三个特性:身份id,类型和值。

身份id唯一的身份标识,可以使用内建函数id()来得到,这个值可以被认为是该对象的内存地址。对象身份的比较可通过运算符is或is
not来完成,判断它们是否指向(引用)同一个对象,这里举一个有趣的例子:

>>> a = 1
>>> b = 1
>>> c = 1000
>>> d = 1000
>>> a is b
True
>>> c is d
False
>>> id(a), id(b), id(c), id(d)
(11258984, 11258984, 12386056, 11594792)

可以看出,a和b指向同一个对象,但c和d却不同,这是为什么呢?这是因为,整数对象和字符串对象是不可变对象,python会很高效的缓存它们,不过整数对象仅缓存简单整数,如上面例子中的0,1000就不会缓存了。

类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则,可以用内建函数type()查看python对象的类型,也可以用isinstance(),在python中类型也是对象基本数据类型包括数字、整型、布尔型、长整型、浮点型、复数型、字符串、列表、元组和字典,还有一些其它的内建类型,它们是类型、None、文件、集合、函数、模块和类,除此之外还包括一些内部类型,即代码、帧、跟踪记录、切片(步进切片、多维切片、省略切片)、省略(省略对象有一个唯一的名字Ellipsis)、Xrange(是range()的补充)。

值:对象表示的数据项。对象值的比较除了一些常见的运算符之外,还可以使用cmp()内建函数。

上面提到的类型可按照三种不同的模型进行分类:存储模型、更新模型、访问模型。

存储模型分两种——

原子类型:数值、字符串。

容器类型:列表、元组、字典。

更新模型分两种——

可变类型:列表、字典。

不可变类型:数字、字符串、元组。

访问模型分三种——

直接访问:数字。

顺序访问:字符串、列表、元组。

映射访问:字典。

时间: 2024-10-15 20:38:27

什么是python对象的相关文章

Python对象剖析

Python是面向对象语言,在Python世界中,一切皆是对象,一个整数是一个对象,一个字符串也是一个对象.更奇妙的是,类型也是一个对象,在Python虚拟机(解释器)执行代码过程中,也会生成许多对象,包括一个模块.代码块.函数等. 一.Python对象分类 Python对象在概念上可以分为5类. Fundamental对象:类型对象 Numeric对象:数值对象 Sequence对象:容纳其他对象的序列集合对象 Mapping对象:映射(关联)对象 Internal对象:Python虚拟机在运

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"创建一个字符串对象,

零基础学python-4.1 python对象的简介和标准类型

对象,面向对象的核心,也是python的核心 python对象有三个特性 1.身份:也就是id,每一个对象都有id,通过id(obj)来读取,一般很少用到这个值,所以不需太管它 2.类型:对象保存什么类型的值,通过type(obj)可以读取,type本身也是对象,他返回的不是字符串,而是对象 我们举一两个例子: 3.值:对象的数据项 当对象创建时,这三个特性都会被赋值,前两个特性是只读的,数据项是可变的 python还有一系列的内建对象,一般来说,对于现在的编程都是够用,如果不够或者需要特殊的数

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

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

Python 对象

一.对象简介 Python 使用对象模型来存储数据,构造任何类型的值都是一个对象,对象有以下特征: (1) 身份:每一个对象都有一个唯一的身份标识自己,可以用 id() 查看,这个值是该对象的内存地址(2) 类型:对象的类型决定了该对象可以保存什么类型的值,可以用 type() 查看该对象的类型(3) 值:对象表示的数据项 Python 对象有属性.值.可执行代码,Python 用句点(.)来访问属性,最常用的属性是函数和方法.Python 对象包括 数字.字符串.列表.元组.字典.类型.文件.