知识点:类和实例
面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类 是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 仍以Student类为例,在Python中,定义类是通过class关键字:
class Student(object): pass
说明:class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的(即超类),继承的概念我们后面再讲,通常,如果没有合适的继承类,就使用object类,这是所有类最终都会继承的类。
定义好了Student类,就可以根据Student类创建出Student的实例,创建实例是通过类名+()实现的:
>>> stu1 = Student()
>>> stu1 <__main__.Student object at 0x10a67a590
> >>> Student <class ‘__main__.Student‘>
变量stu1指向的就是一个Student的实例,后面的0x10a67a590是内存地址,每个object的地址都不一样,而Student本身则是一个类。 可以自由地给一个实例变量绑定属性,比如,给实例bart绑定一个name属性:
>>> stu1.name = ‘Bart Simpson‘
>>> stu1.name
>>>‘Bart Simpson‘
封装的另一个好处是可以给Student类增加新的方法,比如get_grade:
class Student(object):
def get_grade(self):
if self.score >= 90:
return ‘A‘
elif self.score >= 60:
return ‘B‘
else:
return ‘C‘
总结: 类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有的数据都互相独立,互不影响; 方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据; 通过在实例上调用方法,我们就直接操作了对象内部的数据,但无需知道方法内部的实现细节。
原文:https://www.cnblogs.com/single-fire/p/10401480.html