前言:
作者简介:短尾巴小鳄鱼 ,一位不放弃自己的上进卷妹
如果文章知识点有错误的地方,请留言指正~和大家一起学习,一起进步
人生格言:昨日种种,皆成今我。今日种种,方成新我。切莫踌躇,莫停留,莫沉溺
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦
面向对象编程是在面向过程编程基础上发展来的,它比面向过程具有更强的灵活性和扩展性。
python是一门面向对象编程。python中一切皆对象。
面向过程编程的核心是过程,就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用函数即可。简单理解就是程序从上到下一步一步执行。
面向对象编程是把构成事务的整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建对象的目的不是为了完成某一个步骤,而是为了描述某个事务在整个解决问题的步骤中的行为。
下面来举个实际的例子解释两种不同的编程方式:
假如有一辆车,它的速度是80km/h,从A地出发开往B地,计算需要花费的时间。
面向过程编程:
speed = 80
diatance = 200
time = distance / speed
print(time)
面向对象编程
class Car:
speed = 0
def driver(self, distance):
time = distance / speed
print(time)
car1 = Car()
car1.speed = 80
car1.driver(200)
面向对象的优势,如果再给一辆车不同的速度与距离,只需要再实例化一个对象出来,而不需要像面向过程一样把代码重新再写一遍。
python中self代表类的实例–在定义类的方法时必须存在
python中只有针对类来说self才有意义–python中的self说的就是类中的self
可能大家还是不太理解,下面根据类的两个关键要素-属性和方法,具体来使用self看看实际应用效果:
如果变量定义在类下面而不是类的方法下面,那这个变量既是类的属性也是类实例的属性
如果变量定义在类的方法下面,如果加了self,那这个变量就是类实例的属性,不是类的属性;如果没有加self,这个变量只是这个方法的局部变量,既不是类属性也不是类实例的属性: