91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么避免不正確的使用類變量

發布時間:2020-08-25 11:29:37 來源:億速云 閱讀:158 作者:Leah 欄目:編程語言

怎么避免不正確的使用類變量?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

不正確的使用類變量

看下面一個例子:

>>> class A(object):
...     x = 1
...
>>> class B(A):
...     pass
...
>>> class C(A):
...     pass
...
>>> print A.x, B.x, C.x
1 1 1

看起來沒有問題。

>>> B.x = 2
>>> print A.x, B.x, C.x
1 2 1

嗯哈,還是和預想的一樣。

>>> A.x = 3
>>> print A.x, B.x, C.x
3 2 3

我了個去。只是改變了A.x,為啥C.x也變了?

在Python里,類變量通常在內部被當做字典來處理并遵循通常所說的方法解析順序(Method Resolution Order (MRO))。因此在上面的代碼中,因為屬性x在類C中找不到,因此它會往上去它的基類中查找(在上面的例子中只有A這個類,當然Python是支持多重繼承(multiple inheritance)的)。換句話說,C沒有它自己獨立于A的屬性x。因此對C.x的引用實際上是對A.x的引用。(B.x不是對A.x的引用是因為在第二步里B.x=2將B.x引用到了2這個對象上,倘若沒有如此,B.x仍然是引用到A.x上的。)

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉木乃县| 武穴市| 民乐县| 来宾市| 得荣县| 神农架林区| 盖州市| 石林| 洛扎县| 龙口市| 突泉县| 凯里市| 鄱阳县| 台北县| 东乌珠穆沁旗| 肃南| 宜宾市| 宁城县| 贞丰县| 两当县| 隆化县| 合肥市| 利津县| 滕州市| 咸宁市| 宿迁市| 宣恩县| 黄石市| 岑溪市| 仙桃市| 遵化市| 大名县| 达州市| 绍兴市| 永登县| 明水县| 宜宾县| 政和县| 东丰县| 黄梅县| 静宁县|