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前面的下劃線去掉,是因為要對外開放訪問,記住這個語法。