• Python面向对象(一)



    活动地址:CSDN21天学习挑战赛

    一. 面向对象是什么?

    在现实生活中,人的思考是抽象的,我们会将遇到的事物抽象化,这时就出现了对象的类型——类。先定义类,然后由类去创建对象,最后由对象去管理程序。就像人类思考一样,先抽象,后实例化,最后去执行。面向对象编程就是一种不断抽象数据和不断抽象方法的过程。

    二、什么是对象?

    万物皆对象。现实世界中我们能见到的、能触碰到的所有人和事物都是对象,如人、猫、狗、汽车等。在计算机世界里,我们用虚拟的编程代码将现实世界里的事物抽象成对象,然后用面向对象编程思想来解决现实世界中的种种难题。人们在认识世界时,会将对象简单处理为两部分——属性和行为。

    对象具有属性,它可以称为状态,也可以称为变量。正如每个工厂有名称、位置、面积、产品等属性,我们可以用这些数据来描述对象的属性。

    举例:对象“工厂”的属性
    在这里插入图片描述
    对象具有行为,也可以称为方法,就如同每个工厂都要能做:检验、组装、包装、出货。面向对象编程将完成某个功能的代码块定义为方法,方法可以被其他程序调用,也可以被对象自身调用。

    举例:对象“工厂”的行为
    在这里插入图片描述

    三、面向对象的重要术语

    • 类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。
    • 类属性:类属性在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外,通常不作为实例变量使用。
    • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖,也称为方法的重写。
    • 实例属性:定义在方法中,只作用于当前实例的类。
    • 封装:把需要重用的函数或者功能封装,方便其他程序直接调用
    • 继承:指一个派生类继承基类的字段和方法。继承也允许把一个派生类的对象作为一个基类地对象对待。
    • 多态(polymorphism):一个函数有多种表现形式,调用一个方法有多种形式,但是表现出的方法是不一样的。
    • 实例化:创建一个类的实例,一个类的具体对象。
    • 方法:类中定义的函数。
    • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

    四、类的语法

    类必须被定义后才能使用,定义一个类也就是定义这一类对象的模板,定义它的属性和方法。Python中提供了class关键字来声明一个类,class中有成员属性和成员方法。Python中类的定义格式如下:

    class  [类名]:
        [语法块]
    
    • 1
    • 2

    定义一个类的3要素:

    1. 类名:这类事物的名字,满足大驼峰命名法( 说明:每个单词首字母大写)
    2. 属性:这类事物具有什么样的特征
    3. 方法:这类事物具有什么样的行为

    定义一个类:

    需求:
    工厂检验区、工厂组装区、工厂包装区、工厂出货区

    分析:
    定义一个工厂类
    定义4个方法:检验、组装、包装、出货
    按照需求,不需要定义属性

    class Factory:
        '''这是一个工厂类'''
     
        def jianyan(self):
            print('这是工厂里面负责检验的。')
     
        def zuzhuang(self):
            print('这是工厂里面负责组装的。')
     
        def baozhuang(self):
            print('这是工厂里面负责包装的。')
     
        def chuhuo(self):
            print('这是工厂里面负责出货的。')
     
    factory1=Factory()
    factory1.jianyan()
    factory1.zuzhuang()
    factory1.baozhuang()
    factory1.chuhuo()
     
    #下面是输出
    '''
    这是工厂里面负责检验的。
    这是工厂里面负责组装的。
    这是工厂里面负责包装的。
    这是工厂里面负责出货的。
    '''
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    五、方法中的self参数

    由哪一个对象调用的方法,方法内的 self 就是 哪一个对象的引用

    • 在类封装的方法内部,self 就表示 当前调用方法的对象自己
    • 调用方法时,不需要传递 self 参数
    • 在方法内部,通过 self. 访问 对象的属性
    • 在类的外部,通过 实例名. 访问 对象的属性和方法

    六、__方法名__格式的方法

    这种格式的方法是Python提供的内置方法,说明如下:

    方法名类型类型
    __new__方法创建对象时,会被 自动 调用。用于控制生成一个新实例的过程,它是类级别的方法。至少要有一个参数cls,代表要实例化的类。__new__方法的调用是发生在__init__之前的。
    __init__方法对象被初始化时,会被 自动 调用。用于初始化一个新实例,控制这个初始化的过程,比如添加一些属性, 做一些额外的操作,发生在类实例被创建完以后。它是实例级别的方法。
    __del__方法对象被从内存中销毁前,会被 自动 调用。
    __str__方法返回对象的描述信息,print 函数输出使用。当使用 print 输出对象的时候,只要自己定义了__str__方法,那么就会打印从在这个方法中return的数据。__str__方法需要返回一个字符串,当做这个对象的描述。
  • 相关阅读:
    Turtlebot4入门教程-产品特征
    传神论文中心|第25期人工智能领域论文推荐
    unitree
    如何在spark中使用scikit-learn和tensorflow等第三方python包
    Vscode常用插件
    累计注意力大模型
    使用Powershell修改文件时间
    lararvel 常用字符串操作
    Vim文档编辑器常用语法总结
    【牛客网-公司真题-前端入门篇】——奇安信秋招笔试-前端-卷3
  • 原文地址:https://blog.csdn.net/Limenrence/article/details/126454544