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