python 類變量和實例變量


python的類變量和實例變量,顧名思義,類變量是指跟類的變量,而實例變量,指跟類的具體實例相關聯的變量,具體體現為self.x 等。實際要注意的類變量和實例變量之間的關聯。和類方法可以通過類也可以通過實例訪問類似,類變量既可以通過實例也可以通過類來訪問。

來看舉例:

class Person: name="aaa" p1=Person() p2=Person() p1.name="bbb" #這里修改了p1.name的引用,使其不再指向類變量,而成為一個實例變量 print p1.name # bbb print p2.name # aaa print Person.name # aaa

類變量就是供類使用的變量,實例變量就是供實例使用的.

這里p1.name="bbb"是實例調用了類變量,這其實和上面第一個問題一樣,就是函數傳參的問題,p1.name一開始是指向的類變量name="aaa",但是在實例的作用域里把類變量的引用改變了,就變成了一個實例變量,self.name不再引用Person的類變量name了.

可以看看下面的例子:

class Person: name=[] p1=Person() p2=Person() p1.name.append(1) #p1.name依然指向類變量,所以對它進行的修改直接影響了類變量。 print p1.name # [1] print p2.name # [1] print Person.name # [1]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM