新聞中心
Python編程語言的出現(xiàn)給我們帶來了非常大的好處。對于這樣一款面向?qū)ο蟮拈_源語言,其在開發(fā)領(lǐng)域中占據(jù)著非常重要的地位。在這里我們就先從Python對象的應(yīng)用開始來一起了解一下這一語言的面向?qū)ο筇卣鳌?t#

創(chuàng)新互聯(lián)建站,是成都地區(qū)的互聯(lián)網(wǎng)解決方案提供商,用心服務(wù)為企業(yè)提供網(wǎng)站建設(shè)、app軟件開發(fā)公司、微信平臺小程序開發(fā)、系統(tǒng)按需網(wǎng)站開發(fā)和微信代運(yùn)營服務(wù)。經(jīng)過數(shù)十余年的沉淀與積累,沉淀的是技術(shù)和服務(wù),讓客戶少走彎路,踏實(shí)做事,誠實(shí)做人,用情服務(wù),致力做一個負(fù)責(zé)任、受尊敬的企業(yè)。對客戶負(fù)責(zé),就是對自己負(fù)責(zé),對企業(yè)負(fù)責(zé)。
“萬物皆對象”(Everything is object),這是Python這種面向?qū)ο笳Z言所倡導(dǎo)的理念。在我們熟悉的C++中,1只是一個整型數(shù),而不是一個對象。但在Python中,1卻是一個實(shí)實(shí)在在的對象,您可以用dir(1)來顯示它的屬性。
Python對象都有下面三個特征:
* ***的標(biāo)識碼(identity)
* 類型
* 內(nèi)容(或稱為值)
一旦Python對象被創(chuàng)建,它的標(biāo)識碼就不允許更改。對象的標(biāo)識碼可以有內(nèi)建函數(shù)id()獲取,它是一個整型數(shù)。您可以將它想象為該對象在內(nèi)存中的地址,其實(shí)在目前的實(shí)現(xiàn)中標(biāo)識碼也就是該對象的內(nèi)存地址。
- >>> class c1:
- pass
- ...
- >>> obj = c1()
- >>> obj
- <__main__.c1 instance at 0x00AC0738>
- >>> id(obj)
- 11274040
換算一下,11274040就是十六進(jìn)制的0x00AC0738。
- >>> id(1)
- 7957136
這就是前面提到的1這個對象的標(biāo)識碼,也就是它在內(nèi)存中的地址。
當(dāng)用is操作符比較兩個對象時,就是在比較它們的標(biāo)識碼。更確切地說,is操作符是在判斷兩個對象是否是同一個Python對象。
- >>> [1] is [1]
其結(jié)果是False,是因?yàn)檫@是兩個不同的對象,存儲在內(nèi)存中的不同地方。
- >>> [1] == [1]
其結(jié)果是True,是因?yàn)檫@兩個不同的Python對象有著相同的值。
與對象的標(biāo)識碼類似,對象的類型也是不可更改的??梢杂脙?nèi)建函數(shù)type()取得對象的類型。
有的對象的值是可以改變的,這類對象叫作可變對象;而另外一些對象在創(chuàng)建后其值是不可改變的(如1這個對象),這類對象叫作恒定對象。對象的可變性是由它的類型決定的,比如數(shù)值型(number)、字符串型(string)以及序列型(tuple)的對象是恒定對象;而字典型(dictionary)和列表型(list)的對象是可變對象。
除了上面提到的三個特征外,一個Python對象可能:
* 沒有或者擁有多個方法
* 沒有或者有多個名字
標(biāo)題名稱:Python對象主要特征解析
網(wǎng)頁路徑:http://www.dlmjj.cn/article/djseshp.html


咨詢
建站咨詢
