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前面的下划线去掉,是因为要对外开放访问,记住这个语法。