天天看點

python中的類的成員變量以及property函數

1 python類的各種變量

1.1 全局變量

在類外定義的變量。

1.2 類變量

定義在類裡面,所有的函數外面的變量。這個變量隻有一份,是所有的對象共有的。在類外用“類.”來引用。

1.3 執行個體變量

用self.xxx在類的任何函數中定義的變量就是執行個體變量。在類内用“self.”來引用,在類外用“執行個體.”來引用。

1.4 局部變量

在函數裡面定義的,不帶self.字首。

2 python類的成員變量前面的下劃線和成員函數前面的下劃線

單下劃線,表示這個變量和函數是私有的。

4 python的property是什麼,為什麼要這個東西

 property()函數是python的builtin函數,它是一個粘合劑,将對象“.”操作符和set、get、del方法粘合起來,并且,讓下劃線的私有變量可以在類外通路。

5 self._xxx和xxx

class C(object):
    def __init__(self): self._x = None def getx(self): return self._x def setx(self, value): self._x = value def delx(self): del self._x x = property(getx, setx, delx, "I'm the 'x' property.") 
這裡的self._x和最後面用property定義的x是什麼關系?
當c是C的執行個體的時候,c.x将會調用getx函數,c.x=1将會調用setx函數。這裡之是以将x前面的下劃線去掉,是因為要對外開放通路,記住這個文法。


      

轉載于:https://www.cnblogs.com/hustdc/p/7131425.html