Python高阶

  • python高阶
    • 面向对象
      • 基本概念
        • 类(class):描述具有相同属性和行为的对象的集合。比如学生类(学号、姓名、班级、学习)
        • 对象(object):通过类定义的数据结构的实例,是对类的具体实现
        • 属性:描述类的静态特征
          • 类属性:每一个对象都具有并且值相同,比如学生的国籍
          • 实例属性:每一个对象都具有,但是值可能不同,比如学生姓名、年龄等
        • 方法:描述类的动态行为
          • 类方法:通过装饰器@classmethod声明,常通过类调用,一般用于修改类属性的值
          • 实例方法:类中最常用的方法,常通过对象调用
          • 静态方法(了解):通过装饰器@staticmethod声明,常通过类调用,通过是一些和类本身无关的方法
      • 类的声明
        • 语法:

          • 类名:符合标识符命名规范,通常每个单词首字母大写
        • 例1:声明一个学生类
          • 属性:学号、姓名、年龄、国籍、班级
          • 方法:学习

      • 对象的声明(实例化)
        • 语法:对象名 = 类名([实参1,实参2,......])
        • 例1:实例化Student类

      • 例1:
        • 声明一个学校类,学校类中声明一个类属性表示学校的总人数,声明一个类方法用于更新学校总人数
        • 声明一个学生类,包含学生的基本信息,每实例化一个学生,则学校的总人数+1

      • 内置方法
        • __new__(),new方法,在实例化时自动调用,用于创建对象
        • __init__(),构造方法,初始化对象,在实例化时自动调用
        • __del__(),析构方法,销毁对象,在对象生命周期结束时自动调用,删除对象
        • 例:
      • 例2:
        • 声明一个学校类,学校类中声明一个类属性表示学校的总人数,声明一个类方法用于更新学校总人数
        • 声明一个学生类,包含学生的基本信息,每实例化一个学生,则学校的总人数+1

      • 例3:
        • 声明一个学校类,学校类中声明4个类属性分别表示学校的总人数、高一、高二、高三年级的人数,声明一个类方法用于更新学校总人数以及对应年级的人数
        • 声明一个学生类,包含学生的基本信息(姓名、年龄、班级-高三二班),每实例化一个学生,则学校的总人数+1

      • 例4:
        • 声明一个资金类,有3个类属性,分别保存销售总额,食品类销售额、服饰类销售额;声明一个类方法用于更新销售总额、以及不同商品类别的销售额
        • 声明一个销售类,包含销售的商品名称、类别、单价、销售数量,销售完成后需要更新销售总额以及对应类别商品的销售额

      • 例5:城防系统
        • 在城墙(自定义城墙总面积)上安置各类的防御装备,包括(占地面积10),高射机枪(占地面积5),单兵装备(占地面积2),阵地机枪(占地面积7)
        • 程序开始后随机生成一个防御装备,将其安置在城墙上,重复这个过程直到城墙上的可使用面积小于2为止。输出已经安置的各种设备的数量。

      • 例6:投篮训练,统计在2分钟内的训练成绩
        • 声明球员类,包含球员的基本信息(姓名、历史投篮命中率,训练次数、命中数)、投篮方法
        • 每次投篮后随机调整1-3秒
        • 命中率模拟:比如命中率为90%,可以声明一个列表或者字符串,其中包含10个元素(1/0,1表示命中,0表示未命中),每次投篮随机选择一个作为投篮结果

      • 对象组合
        • 用于描述类与类之间的关系,多个类之间存在依赖关系,需要在A类中调用B的属性或者方法
        • 方式
          • 1、在A类的实例方法中传入B类的对象,通过该对象调用B类中的属性和方法(A类、B类相互依赖)
          • 2、在A类的构造方法中传入B类的对象,通过该对象调用B类中的属性和方法(A类依赖于B类)
        • 例1:饲养员与动物
          • 有10个房间,每个房间中随即放入老虎或者羊
          • 饲养员不知道每个房间中的动物类型,可以选择敲门(房间中的动物发出叫声,同时体重-5)获知动物类型。饲养员给动物喂食,喂正确则体重+10,错误了则体重-10(老虎吃肉,羊吃草)
          • 游戏时间1分钟,统计每个房间中动物的体重
          • 分析:完成整个事件有哪些对象,这些对象具有哪些属性和方法,将对象的属性和方法抽象为类
            • 老虎
              • 属性:名字、体重
              • 方法:吃东西、发出叫声
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼排也爱小白菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值