当前位置: 首页 > news >正文

python 面向对象【第一节】

面向对象【第一节】

一、什么是面向对象

  1. 面向过程:强调以步骤为基础完成各种操作
  2. 面向对象:强调以对象为基础完成各种操作,是基于面向过程的
  • 更符合人们的思考习惯
  • 复杂问题简单化
  • 从执行者变成指挥者

洗衣服,如果自己动手洗,是执行者,要做很多步去把衣服洗好,这就是面向过程。
我让洗衣机洗,我是指挥者,面向对象,对象是洗衣机.

二、什么是封装,继承,多态

(一)封装

通过外部接口直接调用,隐藏对象的属性和细节

(二)继承

子类继承父类的属性和方法,使得子类对象(实例)具有父类的特征和行为。

  • 项目经理:
    属性:姓名,工资,奖金
    行为:工作
  • 程序员:
    属性:姓名,工资
    行为:工作
  • 员工:
    属性:姓名,工资
    行为:工作
  • 项目经理和程序员都继承自员工

(三)多态

同一个函数,接收不同的对象,有不同的效果

三、什么是类、什么是对象

1.概念

  1. 先写类,再创建对象,再用对象干活。
  2. 类是抽象的,对象是具体的。

银行卡是类,因为有很多银行卡,没有指定哪一个。
对面马路上跑的车是对象,因为指定了对面马路的车,而不是所有

2.定义类格式(代码)

class类名:#属性(属性和之前定义变量一样)#行为(行为和之前定义函数一样)
  • 例:定义汽车会跑
classCar:#属性先不写#行为(定义函数)defrun(self):print("汽车会跑。。。")

3.创建对象及访问类中行为

  1. 上面例子中的代码还不能运行,要向其中补充对象。
  2. 对象的基本语法格式

python对象实例化:对象名 = 类()
调用方法:对象名.方法名()
-----通过对象名.() 的形式,调用类中函数(run)

  1. 补充后的代码
classCar:#属性先不写#行为(定义函数)defrun(self):print("汽车会跑。。。")car=Car()car.run()

4.self关键字

  1. 定义
    self是python内置的关键字,用于指向对象实例本身,也就是说当前哪个对象调用,self就代表谁。

  2. 上面代码中的 self 就是 car(car的地址传给了self)

5.类内和类外调用函数

1. 在类外访问类中的行为,需要通过“ 对象名.”的方式访问
2. 在类内访问类中的行为,需要通过 “self.” 的方式访问(类内的任何对象都是用 self 代表的,所以直接写self)

  • 代码如下
classCar:defrun(self):print(f"{self}汽车会跑。。。")defwork(self):#work函数,在其内部调用runprint(f"我是work值,我的self值:{self}")self.run()#在类外访问Car类的行为(在外访问函数)c1=Car()print(f"c1对象:{c1}")c1.run()c1.work()#再次创建对象c2=Car()print(f"c2对象:{c2}")c2.run()c2.work()
  • 代码输出如下
  • 代码运行结果解析

1. 外面的c1先调用,执行 print(f"c1对象:{c1}")
2. 先调用的run,所以先执行run,输出run下面的print
3. 之后调用work,先执行work下面的print,再执行self.run(),也就是再执行一遍run下面的print
4. c2也同样来一遍

http://www.jsqmd.com/news/1292660/

相关文章:

  • Spring Boot循环依赖:三级缓存机制、配置方法与设计重构实战
  • 一步一步学习使用LiveBindings()TListView进阶使用(),创建自定义的列表项打造天气预报程序
  • 2026年如何甄选有实力的农业四情监测系统土壤墒情监测站生产厂家?这份优选指南请收好 - geo交流
  • 以前的关键词研究问的是“这个词有多少人搜“。2026年该问的是——“搜这个词的人,他做完搜索之后做了什么事。“
  • C++课程设计实战:图书信息管理系统开发全解析
  • AI 赋能,东软添翼领跑三级医院数智未来
  • 看完不踩坑!电脑看图软件最全选型攻略
  • Palworld存档工具终极指南:三步实现.sav与JSON双向免费转换
  • 单机部署私有大模型:硬件选型与优化实践
  • 介观尺度电子输运:有效质量与态密度的计算与应用
  • Excel VBA批量套打实战:从数据到打印的自动化解决方案
  • STM32特殊引脚复用实战:释放SWD/JTAG引脚作GPIO的完整指南
  • 2026年嘉兴新型手持气象仪产品怎么选?这份甄选指南帮你精准避坑 - geo交流
  • 2026枣阳市瓷砖空鼓如何妥善处理?地砖墙砖松动微创注浆修复实操方案|本地专业修缮服务科普 - 宅安选房屋修缮
  • 2026为何国产私有化智能体平台比OpenClaw更安全?企业级OpenClaw定制化平替厂商盘点
  • 直线模组运行不顺畅怎么办?
  • 纯代数推导:步进电机电气角度与机械角度的通用关系
  • 如何安全合规地使用B站视频下载工具:DownKyi的终极完整指南与法律风险防范
  • FDE为何成为AI领域新宠?技术人如何把握落地红利
  • 华东供应链直播基地是什么?和壹亿共创什么关系
  • 2026年茂名耐用的EL检测仪供应商怎么选?这份优选指南帮你避开选型雷区 - geo交流
  • 2026年如何甄选达标排放的废气焚烧稳定运行系统技术方案? - geo交流
  • Jupyter Notebook中执行Shell命令的三种方法与实践指南
  • PyCharm 安装与使用
  • B站视频转文字终极指南:开源神器bili2text完整教程
  • 液压挖掘机工作装置设计:从四连杆机构原理到UG三维建模实践
  • Android开发转型指南:从XML到Jetpack Compose的实战进阶
  • 基于拓扑排序的依赖任务调度算法研究7
  • AD2s1205旋变解码芯片实战:从硬件设计到软件配置全解析
  • gif压缩免费:投稿系统卡体积时,手机与电脑怎么对照压 - AI测评专家