类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有的数据都互相独立,互不影响;
方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据;
通过在实例上调用方法,我们就直接操作了对象内部的数据,但无需知道方法内部的实现细节。
和静态语言不同,Python允许对实例变量绑定任何数据,也就是说,对于两个实例变量,虽然它们都是同一个类的不同实例,但拥有的变量名称都可能不同。
实现类的计数功能,实例化一个实例,数值加1。
>>> class Student(object):
count = 0
def __init__(self,name,score):
Student.count += 1
self.name = name
self.score = score
self.num = Student.count
>>> tom = Student('Tom',59)
>>> bob = Student('Bob',99)
>>> tom.num
1
>>> bob.num
2
>>> tom.age = 19
>>> tom.age
19
>>> bob.age
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
bob.age
AttributeError: 'Student' object has no attribute 'age'
>>>