面向对象
面向对象编程有什么好处,为什么要使用面对对象编程?
面向对象编程以对象作为程序的基本单元,将方法和数据封装其中,它具有继承、封装、多态三个特性,可以大大提高软件的重用性、灵活性和扩展性。
面向对象与面向过程的区别:
面向过程:做一件事情,需要按照什么样的过程来完成。
面向对象:将一件事情先想象为一个对象,然后通过提取该对象的所有共同的方法和属性,利用这些方法和属性来完成这件事情的思想。
类和对象的区别:
类:具有相同方法和属性的对象的总称。
对象:类的具体实例。
类的定义:
类的属性放在__init__()方法里面。
self的作用:
主要在定义方法时表明当前方法是一个实例方法,只能由类的实例进行调用。
self在定义方法时必须以第一个参数形式定义到方法中,而在调用时self是隐式传入到实例当中,不需要写入。

实例化与实例方法调用
self在定义方法时必须以第一个参数形式定义到方法中,而在调用时self是隐式传入到实例当中,不需要写入。

类方法的调用:
必须用@classmethod来修饰,第一个参数必须是cls,既可以由类来调用,又可以由实例来调用,实例权限是高于类权限的。


什么时候应该定义类方法,什么时候定义实例方法?
跟具体某个实例没有关系的方法,一般定义成类方法,由类名直接调用。
跟具体的实例有关,每个实例都不一样,一般定义成实例方法,由具体的实例进行调用。
属性方法:
可以像属性一样调用的方法,目的是防止直接对属性值直接进行修改。
例如:

使用@property定义实例属性,防止被修改

浙公网安备 33010602011771号