python里面类变量count怎么做_Python中类变量和实例变量

在类设计中,经常遇到两种类型的变量:类变量和实例变量。

简单的说,类变量(class variable)被该类的所有实例可以共享的变量;如果某个实例修改了该变量,这种变化可以被其他实例看到。

实例变量(object variable, instance variable)属于实例私有;对实例变量的操作不会影响到其他实例对象。

举个简单的例子,就很清楚了。

#!/usr/bin/env python

class   Person(object) :

count_beans = 0

def __init__(self, name) :

self.name = name

self.count_beans = 0

def pick(self) :

self.count_beans += 1

Person.count_beans += 1     #self.__class__.count_beans += 1

print '%s pick a bean. He picked %d beans, and we all picked %d beans.' % (self.name, self.count_beans, Person.count_beans)

alex = Person('Alex')

alex.pick()

mike = Person('Mike')

mike.pick()

alex.pick()

jack = Person('Jack')

jack.pick()

alex.pick()

mike.pick()

运行结果:

Alex pick a bean. He picked 1 beans, and we all picked 1 beans.

Mike pick a bean. He picked 1 beans, and we all picked 2 beans.

Alex pick a bean. He picked 2 beans, and we all picked 3 beans.

Jack pick a bean. He picked 1 beans, and we all picked 4 beans.

Alex pick a bean. He picked 3 beans, and we all picked 5 beans.

Mike pick a bean. He picked 2 beans, and we all picked 6 beans.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值