Python基础入门篇【29】--python初识面向对象-扩展

前言
作者简介:短尾巴小鳄鱼 ,一位不放弃自己的上进卷妹
如果文章知识点有错误的地方,请留言指正~和大家一起学习,一起进步
人生格言:昨日种种,皆成今我。今日种种,方成新我。切莫踌躇,莫停留,莫沉溺
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦

文章目录

  • python初识面向对象--扩展
    • 面向对象与面向过程
      • 面向过程编程:
      • 面向对象编程:
    • 面向对象常用术语
    • self参数扩展与总结

python初识面向对象–扩展

面向对象与面向过程

面向对象编程是在面向过程编程基础上发展来的,它比面向过程具有更强的灵活性和扩展性。

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)

面向对象的优势,如果再给一辆车不同的速度与距离,只需要再实例化一个对象出来,而不需要像面向过程一样把代码重新再写一遍。

面向对象常用术语

  • 类:可以理解是一个模板,通过这个模板可以创建出无数个具体实例
  • 对象:类不能直接使用,通过类创建出来的对象才能使用
  • 属性:类中的所有变量称为属性
  • 方法:类中的所有函数成为方法。方法可以分为类方法、静态方法和实例方法。类中定义的方法默认都是实例方法。实例方法至少包含一个self参数,只能被类实例化出来的对象调用使用。

self参数扩展与总结

python中self代表类的实例–在定义类的方法时必须存在

python中只有针对类来说self才有意义–python中的self说的就是类中的self

可能大家还是不太理解,下面根据类的两个关键要素-属性和方法,具体来使用self看看实际应用效果:

  1. 属性

如果变量定义在类下面而不是类的方法下面,那这个变量既是类的属性也是类实例的属性

Python基础入门篇【29】--python初识面向对象-扩展_第1张图片

如果变量定义在类的方法下面,如果加了self,那这个变量就是类实例的属性,不是类的属性;如果没有加self,这个变量只是这个方法的局部变量,既不是类属性也不是类实例的属性:

Python基础入门篇【29】--python初识面向对象-扩展_第2张图片

  1. 方法

    如果在类中定义函数加了self,那这个函数是类实例的方法,而不是类方法

    Python基础入门篇【29】--python初识面向对象-扩展_第3张图片

    如果在类中定义函数没有加self,那这个函数只是类的方法,不是类实例的方法

    Python基础入门篇【29】--python初识面向对象-扩展_第4张图片

你可能感兴趣的:(python,python,开发语言)