[py]python面向对象-类成员class_vars

本文通过多个示例详细解析了Python中类与对象的概念,包括类的共有和私有属性的访问方式,以及如何从外部访问这些属性。适用于初学者理解和掌握面向对象的基本原理。




类属性
类方法


共有方法
私有方法
类方法
静态方法


1,访问类共有属性
class Test():
    name="zhangsan"


    def fun1(self):
        print self.name


    def fun2(self):
        print self.name


ma=Test()
ma.fun1()
ma.fun2()



#函数外定义变量可以不加self


2,访问类的私有属性
class Test():


    __name="zhangsan"


    def fun1(self):
        print self.__name


    def fun2(self):
        print self.__name


ma=Test()
ma.fun1()
ma.fun2()




3,访问类方法的共有属性
class Test():


    def fun1(self):
        self.name='maxiaolang'
        print self.name


    def fun2(self):
        print self.name
       
ma=Test()
ma.fun1()
ma.fun2()
#fun2可以访问name


4,访问类方法的私有属性
class Test():


    def fun1(self):
        self.__name='maxiaolang'
        print self.__name


    def fun2(self):
        print self.__name


ma=Test()
ma.fun1()
ma.fun2()



#fun2可以访问__name


5,访问类方法的 极其私有属性
class Test():


    def fun1(self):
        name='maxiaolang'
        print name


    def fun2(self):
        print name
ma=Test()
ma.fun1()
ma.fun2()


#fun2无法调用name


6,从外部访问类共有属性
class Test():
    name="maxiaolang"


print Test.name


print Test.name
ma=Test()
print ma.name


7,从外部访问类方法的属性
class Test():


    def fun(self):
        self.name="maxiaolang"


ma=Test()
ma.fun()
print ma.name


8,从外部访问类方法的极其私有属性
class Test():
    def fun(self):
        name="maxiaolang"


ma=Test()
ma.fun()
print ma.name
#报错 不能调用













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值