python 类 的私有和公共变量问题

类变量权限。

__metaclass__ = type

class Mbc:
    members = 0 公共变量,每一个实例都可以访问。(实例中再次帮顶member特性则被覆盖)
    def init(self):
        Mbc.members += 1
    def setname(self, name):
        self.name = name
    def pname(self):
        print self.name
m1 = Mbc()
m1.init()
m1.setname('alca')
m1.pname()
print m1.members

m2 = Mbc()
m2.init()
m2.setname('baka')
m2.pname()
print Mbc.members

slef即代表实例本身,类中定义的函数第一个参数为self表示针对某个实例进行操作。而类的公共变量是所有实力都可以访问的。
以双下划线开头的变量可以视为私有变量,实际上会在变量名前加上一段。python中并没有真正的私有。

继承。

多重继承的时候,靠前继承的类将会把靠后的类中的同名方法或特性覆盖。

发表评论

邮箱地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>