Python学习记录 面向对象编程

本文介绍Python面向对象编程的基础概念,包括类的定义、实例属性、实例方法等,并通过实例演示了如何创建类和实例,以及如何使用构造函数初始化实例。

2022.08.11 DAY27

第六章 面向对象编程

  • Python完全采用了面向对象的思想,是真正面向对象的编程语言,完全支持面向对象的基本功能,例如:继承、多态、封装等。
  • Python中,一切皆对象。
面向对象和面向过程区别
  • 面向过程编程 --> 关注程序的逻辑流程 --> 小规模程序
  • 面向对象编程 --> 设计者 --> 大规模程序
对象的进化
  • 问题越来越复杂…
  • 编程语言本身也在进化…
  • 数据类型越来越复杂…
  • 简单数据 -> 数组 -> 结构体 -> 对象
类的定义
  • 通过类定义数据类型的属性(数据)和方法(行为)

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

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

      class 类名:
          类体
    
  • 要点:

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

实例:

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()

结果:

YJP的分数为99
构造函数__init__()
  • _init_(self)方法:初始化创建好的对象。初始化指的是:“给实例对象赋值”。
  • _new_()方法:用于创建对象,但我们一般无需从定义该方法,
  • self可以自定义,但必须是init的第一个参数。
实例属性
  • 实例属性是从属实例对象的属性,也称为实例变量。
  • 要点:
    • 实例属性一般在__init__()方法中通过如下代码定义:
      • self.实例属性名 = 初始值
    • 在本类的其他实例方法中,也是通过self进行访问:
      • self.实例属性名
    • 创建实例对象后,通过实例对象访问:
      • obj01 = 类名() # 创建对象,调用__init__()初始化属性
      • obj02.实例属性名 = 值 # 可以给已有属性赋值,也可以新加属性
实例方法
  • 实例方法是从属于实例对象的方法。

  • 实例方法的定义格式:

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

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

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

    • dir(obj)可以获得对象的所有属性、方法。
    • obj._dict_ 对象的属性字典。
    • pass 空语句
    • isinstance(对象,类型) 判断“对象”是不是“指定类型”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值