• Python学习记录 面向对象编程


    2022.08.11 DAY27

    第六章 面向对象编程

    • Python完全采用了面向对象的思想,是真正面向对象的编程语言,完全支持面向对象的基本功能,例如:继承、多态、封装等。
    • Python中,一切皆对象。

    面向对象和面向过程区别

    • 面向过程编程 --> 关注程序的逻辑流程 --> 小规模程序
    • 面向对象编程 --> 设计者 --> 大规模程序

    对象的进化

    • 问题越来越复杂…
    • 编程语言本身也在进化…
    • 数据类型越来越复杂…
    • 简单数据 -> 数组 -> 结构体 -> 对象

    类的定义

    • 通过类定义数据类型的属性(数据)和方法(行为)

    • 类也称为类对象,类的实例也被称为实例对象。

    • 定义类的语法格式如下:

        class 类名:
            类体
      
      • 1
      • 2
    • 要点:

      • 类名必须符合标识符的规则。首字母大写,多个单词使用驼峰原则。
      • 类名中可以定义属性和方法。
      • 属性用来描述数据,方法用来描述这些数据相关的操作。

    实例:

    class Student:  # 类名首字母大写,多个单词驼峰原则
    
        def __init__(self, name, score):  # self必须位于第一个参数
            """ 构造函数 """
            self.name = name
            self.score = score
    
        def get_score(self):  # self必须位于第一个参数
            """ 获取分数信息 """
            print("{0}的分数为{1}".format(self.name, self.score))
            return self.score
    
    
    def test():
        student1 = Student("YJP", 99)  # 调用构造函数
        student1.get_score()
    
    
    if __name__ == '__main__':
        test()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    结果:

    YJP的分数为99
    
    • 1

    构造函数__init__()

    • _init_(self)方法:初始化创建好的对象。初始化指的是:“给实例对象赋值”。
    • _new_()方法:用于创建对象,但我们一般无需从定义该方法,
    • self可以自定义,但必须是init的第一个参数。

    实例属性

    • 实例属性是从属实例对象的属性,也称为实例变量。
    • 要点:
      • 实例属性一般在__init__()方法中通过如下代码定义:
        • self.实例属性名 = 初始值
      • 在本类的其他实例方法中,也是通过self进行访问:
        • self.实例属性名
      • 创建实例对象后,通过实例对象访问:
        • obj01 = 类名() # 创建对象,调用__init__()初始化属性
        • obj02.实例属性名 = 值 # 可以给已有属性赋值,也可以新加属性

    实例方法

    • 实例方法是从属于实例对象的方法。

    • 实例方法的定义格式:

        def 方法名(self [形参列表])
            函数体
      
      • 1
      • 2
    • 方法的调用格式如下:

      • 对象.方法名([实参列表])
    • 要点:

      • 定义实例方法时,第一个参数必须是self。和面的一样,self指当前的实例对象。
      • 调用实例方法时,不需要也不能给self传参。self由解释器自动传参。
    • 其他操作

      • dir(obj)可以获得对象的所有属性、方法。
      • obj._dict_ 对象的属性字典。
      • pass 空语句
      • isinstance(对象,类型) 判断“对象”是不是“指定类型”
  • 相关阅读:
    9月22日全球Web3加密行业重大资讯大汇总
    vscode 使用ES6调试js
    JavaScript之BOM与DOM操作
    经过一个多月的等待我有幸成为Spring相关项目的Contributor
    时序预测 | Python实现ConvLSTM卷积长短期记忆神经网络股票价格预测(Conv1D-LSTM)
    计算机毕业设计(附源码)python医院药品进销存系统
    【产品经理】京东群面题|如何用0.01元买到一瓶可乐?
    指针进阶(详解)
    mongodb基本操作及使用
    架构核心技术之微服务架构
  • 原文地址:https://blog.csdn.net/Code_peasant/article/details/126287666