类方法与实例方法
两者区别在于定义类中方法的()内有无self参数
类方法调用: 类名.方法名() 例如: Animal.run()
实例方法调用: 实例名.方法名() 例如: dog.run() dog=Animal()
此外 类名().方法名()也是实例方法的调用,方法参数里必须含有self
为了统计学生人数,可以给Student类增加一个类属性,每创建一个实例,该属性自动增加:
class Student(object):
count = 0
def __init__(self, name):
self.name = name
#self.count = self.count + 1
#上面这句代码是不正确的,
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('测试通过!')