Python的實例屬性和類屬性
最新
04-21
類屬性指的是定義在class內部的,而實例屬性是則與某個特定的實例(對象)有關。定義過於抽象了,看看例子。
目前的一切看起來很正常,但是如果類屬性想要訪問init方法構建的,屬於每個實例的實例屬性。
Python解釋器會告訴你,Book這個類沒有屬性name。而這個就是實例屬性和類屬性最大的差別。不過還需要注意到的問題是:
我們修改了類屬性num_pages,實例tricks,fluent也發生了改變。再看看:
我們修改了實例tricks的num_pages,但是fluent沒有受到影響,並且Book類屬性也沒有受到影響。不過如果我們調用內部的__class__方法:
我們注意到__class__沒有受到影響。
從上面的例子中發現,在以後寫代碼時需要小心類屬性和實例屬性的作用域的範圍。否則一不小心就會出現bug。
※零基礎轉行學習Python想要高薪,我們到底要如何選擇?
※Python中階入門之偏函數介紹
TAG:Python |