20181206 类的属性和方法总结

类的属性-总结

  • 类属性,也是共有属性
  • 类的私有属性
  • 对象的共有属性
  • 对象的私有属性
  • 内置属性
  • 函数的局部变量
  • 全局变量
#!/usr/bin/python
#coding:utf8

class MyClass(object):
    var1 = '类属性,类的共有属性 var1'
    __var2 = '类的私有属性 __var2'
    def func1(self):
        self.var3 = '对象的公有属性 __var3'
        self.__var3 = '对象的私有属性__ var4'  // 对象的私有属性通过对象不能访问
        var5 = '函数的局部变量'
mc = MyClass()
mc.func1()  # 对象的公有属性 访问需要先执行方法才能访问。
print mc.var3 // 对象的属性只能通过对象访问

#print mc._MyClass__var2  // 不建议通过类访问私有属性这么访问
//对象的属性定义在方法里,类的属性定义在方法外
#!/usr/bin/python
#coding:utf8

class MyClass(object):
    var1 = '类属性,类的共有属性 var1'
    __var2 = '类的私有属性 __var2'
    def func1(self):
        self.var3 = '对象的公有属性 __var3'
        self.__var3 = '对象的私有属性__ var4'
        var5 = '函数的局部变量'  // 在func2无法访问var5,在一个函数里定义的变量在另一个函数无法访问
    def func2(self):
        print self.var1
        print self.__var2
        print self.var3
        print self.__var3
mc = MyClass()
mc.func1()
mc.func2()
print mc.__dict__  // 打印对象的属性,只打印对象的公有属性和私有属性
print MyClass.__dict__ // 内置属性通过类调用

类方法总结

  • 公有方法
  • 私有方法
  • 类方法
  • 静态方法
  • 内置方法
#!/usr/bin/python
#coding:utf8

class MyClass(object):
    name = 'Test'

    def __init__(self):  //类构造函数,也叫内置函数,在类实例化时候自动回被执行
        self.func1()
        self.__func2()
        self.classFun()
        self.staticFun()
        
    def func1(self):
        print self.name,
        print "我是公有方法"
        self.__func2()    // 通过其它方法间接调用func2

    def __func2(self):
        print self.name,
        print "我是私有方法"
        
    @classmethod  //装饰器表示方法,可以通过类调用。 MyClass.classFun()
    def classFun(self):
        print self.name,
        print "我是类方法"

    @staticmethod  
    def staticFun():   // 静态方法括号中没有self
        print MyClass.name,  // 只能通过类替代self来引用
        print "我是静态方法"

mc = MyClass()
mc.func1()
# mc.__func2() //通过对象不能调用私有方法,只能在内部调用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值