类 - 类属性、实例属性

类属性:

  • 如果要给类本身绑定一个属性,可以直接定义,在def之外,class之内
In [5]: class Student(object):
   ...:     name = 'Student'
   ...:

实例属性:

  • 给实例绑定属性的办法是通过实例变量,或者是self变量
In [1]: class Student(object):
   ...:     def __init__(self,name):
   ...:         self.name = name
   ...:

In [2]: s = Student('Bob')

In [3]: s.score = 80

In [4]: s.score
Out[4]: 80

实例共享同一类变量

  • 实战:统计这个类共计实例化了多少次对象
class Test(object):
    num = 0
    def __init__(self,name):
        self.name = name
        Test.num += 1

t1 = Test('t1')
t2 = Test('t2')
t3 = Test('t3')

print(Test.num)


每次实例化操作,每个实例中涉及到的方法都会通过这个特殊的属性到类里去寻找,只有每个实例的实例属性是各自的。

结论:

  • 实例属性:和具体的某个实例对象有关系,并且一个实例对象和另外一个实例对象是不共享属性的
  • 类属性:类属性属于类对象,并且多个实例对象之间能共享同一个类属性

转载于:https://my.oschina.net/u/1987102/blog/1843914

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值