打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python对象主要特征解析 - 51CTO.COM
    Python对象具有三个比较特殊的特征,包括有:标识码的唯一性,类型的应用,以及内容的应用。在这里我们将会针对这些内容做一个详细介绍。

     

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

    “万物皆对象”(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对象可能:

    * 没有或者拥有多个方法

    * 没有或者有多个名字

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python 面向对象(初级篇)
Python类和对象
python 面向对象全面详解
Go语言和Python哪一个更容易学呢?
Python 操作 Excel 这个库开发简单明了
[原创]使用meliae来做Python对象内存监测
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服