>>classPoint:...x=0.0...y=0.01.宣告>>>p1=Point()>>>p1.x,p1.y(0.0,0.0)2.賦値>>>p1.x=5.0>>>p1.y=6.0>>>p1.x,p1.y(5.0,6.0)3.位址指向>>>p1<__main__.Pointobjectat0x00000000021B22E8>>>>id(p1.x)30060832>>>id(p1.y)300608084.別名Alia" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python 類和對象 Class vs Object

系統 1746 0

類別定義

class 類別名 :

例如:

>>> class Point:
...???? x = 0.0
...???? y = 0.0

1. 宣告

>>> p1 = Point()
>>> p1.x, p1.y
(0.0, 0.0)

2. 賦値

>>> p1.x = 5.0
>>> p1.y = 6.0
>>> p1.x, p1.y
(5.0, 6.0)

3. 位址指向

>>> p1
<__main__.Point object at 0x00000000021B22E8>
>>> id(p1.x)
30060832
>>> id(p1.y)
30060808

4. 別名 Alias

?>>> p2 = p1
>>> id(p1)
35332840
>>> id(p2)
35332840

>>> p1 == p2
True

5. 複製 Copy

>>> id(p1)
35332840

>>> import copy
>>> p3 = copy.copy(p1)
>>> id (p3)
35332952

?>>> p1 == p3
False

? 6. 物件嵌入物件

>>> class Phone:
...???? area_code = 0
...???? number = 0
...
>>> class Person:
...???? name = ''
...???? age = 0
...???? phone = Phone()
...
>>> p1 = Person()
>>> p1.name = 'John'
>>> p1.age = 20
>>> p1.phone.code = 2
>>> p1.phone.number = 995576
>>> id(p1)
31859152


>>> p2 = Person()
>>> p2.name = 'Mary'
>>> p2.age = 38
>>> p2.phone.code = 3
>>> p2.phone.number = 773322
>>> id(p2)
31859264


>>> import copy
>>> print(p1.name,p1.age,p1.phone.code,p1.phone.number)
John 20 3 773322
>>> print(p2.name,p2.age,p2.phone.code,p2.phone.number)
Mary 38 3 773322
>>>

注意到沒? 雖然 p1 與 p2 是不同的物件,但卻共享相同的物件 Phone,所以 p2.Phone 更新時, p1.Phone 也同樣更新,p1.Phone 與 p2.Phone 共享一個位址。

事實上 p1 與 p2 的 Phone 並沒有在 RAM 中被分配 Allocate 空間存儲,所以才有這現象。我們必須以 p1.Phone() 與 p2.Phone() 各自分配存儲空間,例如:

>>> p1.phone = Phone()
>>> p1.phone.code = 2
>>> p1.phone.number = 995576
>>> print(p1.name,p1.age,p1.phone.code,p1.phone.number)
John 20 2 995576
>>> p2.phone = Phone()
>>> p2.phone.code = 3
>>> p2.phone.number = 773322
>>> print(p2.name,p2.age,p2.phone.code,p2.phone.number)
Mary 38 3 773322
>>>?

?7. 物件複製 Copy

>>> import copy
>>> p2 = copy.copy(p1)
>>> print(p1.name,p1.age,p1.phone.code,p1.phone.number)
John 20 2 995576
>>> print(p2.name,p2.age,p2.phone.code,p2.phone.number)
John 20 2 995576
>>> id(p1)
31859152
>>> id(p2)
31859656
>>> p1 == p2
False

?

?

?

?

?

/end


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品亚洲二线在线播放 | 中国男女全黄大片一级 | 亚洲精品麻豆一区二区 | 亚洲国产女人aaa毛片在线 | 一区二区三区四区在线观看视频 | 亚洲欧洲综合网 | 福利视频在线 | 欧美日韩在线观看视频 | 久久不卡精品 | 波多野结衣一区在线 | 青青热久久国产久精品秒播 | 成人啪啪免费看 | 色费女人18毛片a级视频在线 | 一本久道久综合久久鬼色 | 日本香蕉网 | 一级白嫩美女毛片免费 | 免费在线观看黄色的网站 | 色婷婷久久综合中文久久一本 | 伊人365| 久久国产a | 久久大香香蕉国产免费网站 | 亚洲综合在线观看视频 | 色猫咪av在线网址 | 欧美精品久久久久久久久大尺度 | 成人久草 | a级免费网站 | 成人黄18免费视频 | 99精品国产自在现线观看 | 五月婷婷激情在线 | 天天艹夜夜艹 | 97久久久亚洲综合久久88 | 久热精品免费 | 欧美成人亚洲 | 99精品在线| 欧美成人精品在线 | 激情五月色婷婷在线观看 | 成在线人免费视频一区二区三区 | 日本不卡免费 | 日本一区二区三区四区五区 | 欧美精品国产第一区二区 | 九九操|