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


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

    python初识面向对象–扩展

    面向对象与面向过程

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

    python是一门面向对象编程。python中一切皆对象。

    面向过程编程:

    面向过程编程的核心是过程,就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用函数即可。简单理解就是程序从上到下一步一步执行。

    面向对象编程:

    面向对象编程是把构成事务的整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建对象的目的不是为了完成某一个步骤,而是为了描述某个事务在整个解决问题的步骤中的行为。

    下面来举个实际的例子解释两种不同的编程方式:

    假如有一辆车,它的速度是80km/h,从A地出发开往B地,计算需要花费的时间。

    面向过程编程:

    speed = 80
    diatance = 200
    time = distance / speed
    print(time)
    
    • 1
    • 2
    • 3
    • 4

    面向对象编程

    class Car:
        speed = 0
        
        def driver(self, distance):
            time = distance / speed
            print(time)
            
    car1 = Car()
    car1.speed = 80
    car1.driver(200)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

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

    面向对象常用术语

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

    self参数扩展与总结

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

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

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

    1. 属性

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q6p4Kst4-1658933122501)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727223508298.png)]

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WrRYJ1sJ-1658933122503)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727223745369.png)]

    1. 方法

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

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IV7HiMtI-1658933122503)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727224212451.png)]

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

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ldKhlUia-1658933122504)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220727224308429.png)]

  • 相关阅读:
    DFP 数据转发协议应用实例 7.使用 DLS1x 与 VSxxx 设备的 LoRA 匹配
    P3177 [HAOI2015] 树上染色
    超强换元法,二重积分计算的核武器!(雅可比行列式超通俗讲解)
    【Kubernetes系列】工作负载资源之DaemonSet
    深度学习——day23 class1-week2:二分分类与逻辑回归
    JavaScript 中的事件循环是什么?
    SpringBoot Windows 自启动 - 通过 Windows Service 服务实现
    开放式无线运动耳机怎么挑选,适合在运动佩戴的几款耳机推荐
    YOLOv5 分类模型 Top 1和Top 5 指标实现
    数学题类英语作文
  • 原文地址:https://blog.csdn.net/weixin_44629511/article/details/126024820