Python对象主要特征解析

开发 后端
Python对象具有三个比较特殊的特征,包括有:标识码的唯一性,类型的应用,以及内容的应用。在这里我们将会针对这些内容做一个详细介绍。

Python编程语言的出现给我们带来了非常大的好处。对于这样一款面向对象的开源语言,其在开发领域中占据着非常重要的地位。在这里我们就先从Python对象的应用开始来一起了解一下这一语言的面向对象特征。#t#

“万物皆对象”(Everything is object),这是Python这种面向对象语言所倡导的理念。在我们熟悉的C++中,1只是一个整型数,而不是一个对象。但在Python中,1却是一个实实在在的对象,您可以用dir(1)来显示它的属性。

Python对象都有下面三个特征:

* ***的标识码(identity)

* 类型

* 内容(或称为值)

一旦Python对象被创建,它的标识码就不允许更改。对象的标识码可以有内建函数id()获取,它是一个整型数。您可以将它想象为该对象在内存中的地址,其实在目前的实现中标识码也就是该对象的内存地址。

 

  1. >>> class c1:  
  2. pass  
  3. ...  
  4. >>> obj = c1()  
  5. >>> obj  
  6. <__main__.c1 instance at 0x00AC0738> 
  7. >>> id(obj)  
  8. 11274040 

 

换算一下,11274040就是十六进制的0x00AC0738。

 

  1. >>> id(1)  
  2. 7957136 

 

这就是前面提到的1这个对象的标识码,也就是它在内存中的地址。

当用is操作符比较两个对象时,就是在比较它们的标识码。更确切地说,is操作符是在判断两个对象是否是同一个Python对象。

  1. >>> [1] is [1] 

其结果是False,是因为这是两个不同的对象,存储在内存中的不同地方。

  1. >>> [1] == [1] 

其结果是True,是因为这两个不同的Python对象有着相同的值。

与对象的标识码类似,对象的类型也是不可更改的。可以用内建函数type()取得对象的类型。

有的对象的值是可以改变的,这类对象叫作可变对象;而另外一些对象在创建后其值是不可改变的(如1这个对象),这类对象叫作恒定对象。对象的可变性是由它的类型决定的,比如数值型(number)、字符串型(string)以及序列型(tuple)的对象是恒定对象;而字典型(dictionary)和列表型(list)的对象是可变对象。

除了上面提到的三个特征外,一个Python对象可能:

* 没有或者拥有多个方法

* 没有或者有多个名字

责任编辑:曹凯 来源: 博客园
相关推荐

2009-12-09 13:56:35

Dundas Char

2023-06-07 16:33:28

数据仓库Hadoop

2023-02-22 13:02:57

智能建筑物联网

2010-06-13 09:42:05

UML依赖

2013-05-07 14:54:28

大数据战略企业特征虚拟化网络

2011-03-21 11:02:40

2010-01-06 08:57:01

2015-06-09 10:35:10

2011-12-30 21:42:57

Android

2010-03-05 14:44:36

Python继承

2010-02-02 13:15:26

Python类

2021-02-04 08:50:27

F5G固定网络超大宽带

2010-01-06 17:12:57

Linux主要构成

2010-01-04 09:55:19

2024-06-13 09:12:38

2009-12-14 14:17:52

VS2008功能

2017-02-05 17:15:53

对象存储传统存储

2021-07-16 08:10:06

识别实体对象

2011-12-01 11:24:13

2010-01-22 13:28:13

VB.NET对象克隆
点赞
收藏

51CTO技术栈公众号