av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Python小白不正確的使用類變量實例

瀏覽:355日期:2022-07-24 08:05:57

不正確的使用類變量

看下面一個例子:

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

看起來沒有問題。

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

嗯哈,還是和預想的一樣

>>> A.x = 3>>> print A.x, B.x, C.x3 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上的。)

知識點補充:

類變量、實例變量概念

類變量:

類變量就是定義在類中,但是在函數體之外的變量。通常不使用self.變量名賦值的變量。類變量通常不作為類的實例變量的,類變量對于所有實例化的對象中是公用的。

實例變量:

實例變量是定義在方法中的變量,使用self綁定到實例上的變量,只是對當前實例起作用。

以上就是Python小白不正確的使用類變量實例的詳細內容,更多關于Python新手不正確的使用類變量的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲区视频 | 求av网站 | 欧美日韩一区二区在线观看 | 日韩欧美中文字幕在线观看 | 看片黄全部免费 | 在线看日韩 | 久久久久久97| 欧美在线一级 | 黄色一极片| aaa黄色| 成人看片网站 | 欧美日韩免费视频 | 免费v片| 一级黄色片在线观看 | 在线播放一区 | 日本少妇中文字幕 | 亚洲黄色录像 | 久久国产精品免费 | 在线播放中文字幕 | 色婷婷在线视频 | 一级黄色片免费观看 | 成人一区二区三区在线 | 91福利在线观看 | 日韩精品免费视频 | 午夜在线免费观看 | 国产成人三级在线观看 | 日韩一区三区 | 日韩网站在线观看 | 日韩精品中文字幕在线观看 | 99热最新网址| 亚洲免费视频网站 | 人人澡人人爽 | 国产免费高清视频 | 国产精品一区二区三区四区五区 | 成人午夜在线视频 | 九九热在线精品视频 | 国产传媒av | 五月伊人网| 91精品国产成人www | 日本国产一区 | 成人一级视频 |