Discuss / Python / 交作业

交作业

Topic source
class Student(object):
    count=0
    def __init__(self,name):
        self.name=name
        Student.count=Student.count+1

# 测试:
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('测试成功!')

大佬能否解释一下,在创建实例的过程中为何类属性count不重新赋值0?count=0不是写在第一行吗?

风清

#3 Created at ... [Delete] [Delete and Lock User]

因为count这个变量是属于这个类的,而不是属于某个实例,所有实例共享这个类count变量。

跟全局变量一个道理


  • 1

Reply