为了统计学生人数,可以给Student类增加一个类属性,每创建一个实例,该属性自动增加

博客探讨如何在Python中通过在Student类中添加类属性来自动统计创建的实例数量。测试显示,每当创建一个实例,类属性count就会增加,验证了这种方法的有效性。
class Student(object):
    count = 0

    def __init__(self, name):
        self.name = name
        Student.count += 1   #由于实例属性属于各个实例所有,互不干扰;类属性属于类所有,所有实例共享一个属性;
                             #所以为了实现每创建一个实例属性自动增加,这里的count必须是类的count属性,也就是Student.count

测试代码:

if Student.count != 0:
    print('测试失败!')
else:
    bart = Student('Bart')
    if Student.count != 1:
        print('测试失败!')
    else:
        lisa = Student('Bart')
        if Student.count != 2:
            print('测试失败!')
        else:
            print('Students:', Student.count)
            print('测试通过!')

思路:根据测试代码,第一次没有创建类实例,只是直接访问Student类的count,所以此时Student.count == 0。
实例化该类以后,会调用__init__函数(测试代码创建了bart实例),此时Student.count == 1。
lisa指向bart实例,同样也调用了函数,此时Student.count == 2,最后打印出来Student.count == 2并且测试成功

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值