前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何理解python中的类和对象?

如何理解python中的类和对象?

作者头像
叶子陪你玩
发布于 2020-03-23 07:12:01
发布于 2020-03-23 07:12:01
2.2K0
举报
前言

本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。

什么是类和对象

类和对象,在我们的生活中其实是很容易找例子的。类是一种把对象分组归类的方法。比如动物,植物就可以看作是类,而大象,狮子就可以看作一个动物类中的对象;花,草可以看作是植物类中的对象。

为什么大象和狮子就划分为动物类,花和草就划分为植物类呢?答案就是它们有一些共同的属性特征,根据我们制定的分类方法,就可以将它们进行分类了,分类的准则不同,它们也可以属于不同的类。

在我们的python编程中,也是有类和对象的,比如我们知道的数据类型就可以看做是类,数字类,字符类,列表类,函数类;实际的1,2,3数字就是数字对象了,"abc"等就是字符对象了,这些都是python中提供的对象。除了提供的对象,其实我们也可以自己来创建对象,这里我们就用一个比较好理解的例子来说:假设我们要做一个弹球游戏,这里面有三个不同颜色大小的球和一个球拍。我们就可以创建一个球类 和 一个球拍类。根据球类我们可以创建三个不同的颜色大小的球,根据球拍类可以创建一个指定颜色大小球拍。

这里的球类就相当于一个模子,它可以调整颜色,大小和显示位置,利用它可以生成各种各样的球,球拍类同理。

类和对象在编程中有什么用

之前我们有学习过函数,函数有很多的好处:

1.创建一个新的函数可以让你给一组语句命名,这可以让你的程序更容易阅读和调 试。

2.通过消除重复的代码,函数精简了程序。以后,如果你要做个变动,你只需在一 处修改即可。

3.将一个长程序分解为多个函数,可以让你一次调试一部分,然后再将它们组合为 一个可行的整体。

4.设计良好的函数经常对多个程序都有帮助。一旦你写出并调试好一个函数,你就 可以重复使用它。

函数和类都是组织和管理代码的一种方式,通过使用函数和类,可以让我们的代码结构和逻辑非常清晰。类它的作用比函数更加强大,总结来说主要有下面的一些特点:

1.提高代码的重用性,减少重复工作。

2.结构模块化,可扩展性强。

3.可以将问题简化分解,抽象成一个个类对象,逐一解决。

4.数据封装。

5.继承和多态。

当然还有很多其它好处,但是如果使用的比较少或者了解的比较少,你可能感觉不到它的一个优势,更多的理解体会还需要再往后的学习中慢慢感悟,等到那一天你觉得代码比较多,要处理的对象比较多,更改代码,添加功能比较麻烦时,这个时候你可能就需要用上它了,也就是所谓的面向对象编程和面向过程编程。

如何利用类和对象去编程

前面讲了很多概念性的东西,下面讲讲如果利用类去编程,当然学完后还是需要自己去理解,将其用到自己的实际项目中,这里比较考验你的解决问题能力,如何将实际问题变成程序的问题,和数学中的建模问题很相似,也很有趣。

创建一个类

创建一个Toy玩具类,名字叫做卡通手机,有播放音乐的功能。实例化一个mobile对象,调用它的属性name和方法playmusic()。

添加构造函数

上面的方法name是固定写在Toy类里面的,如果想要实现不同类型的玩具,那么就需要一个构造函数了,这里的init()就是构造函数,里面的第一个参数固定就是self,表示的就是实例化的对象,当我实例化一个对象后,它就会被自动替换成我们的实例对象,比如变成mobile对象,self就是mobile,robot对象时,self就变成robot,它会自动给绑定到对应的对象上面去,这就是self的作用。

self.name表示就是对象的名字,等于传递进来的名字,这样我们就可以创建的时候写自己想要的名字了。写完之后,名字也就自动绑定上去了。

单继承

Toy是一个父类,ToyGun是继承Toy的子类,可以直接继承父类的属性和方法,减少了重复的代码,同时又可以添加自己的属性和方法

多继承

多继承可以继承两个父类的属性和方法,如果两个父类都有相同的方法时,根据继承的顺序来,左侧的更优先,比如这里括号里面左侧是Car,所以这里就是Car的方法,播放喇叭声。

总结

类和对象还有很多高级的内容这里并没有讲,感兴趣的可以自己去研究,这里只是一个引入而已,在学习的时候尽量多去思考琢磨,你会越来越感觉到它的妙处。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叶子陪你玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
通俗易懂PHP基础【9-类和对象(1)】
曾经见过一个摄影师喂藏羚羊喝水,同行的警察把藏羚羊赶走了,摄影师问为什么,警察说,要不然它会以为人类是善良的。
Lemon黄
2019/10/08
4700
通俗易懂PHP基础【9-类和对象(1)】
python中的类和对象
学了python的基本类型, 语法以及常见模块, 这篇来学习一下python中的类和对象, 不做过多的解释和难以理解的文字, 简单的举一些小例子, 写一些示例代码来说明应该如何写类, 以及实例对象, 后面会随着对python的熟悉度会对类和对象有更深的理解, 学到这里之后, 就可以写一些比较像样的python脚本了, 如果你是从第一篇看到这里, 不得不说, 你很棒, 加油!!!!!!
不止于python
2023/09/05
2430
python中的类和对象
Python面向对象编程
OOP,即面向对象编程(或 “面向对象程序设计” ,Object Oriented Programming)。类和对象是OOP中的两个关键内容,在面向对象编程中,以类来构造现实世界中的事物情景,再基于类创建对象来进一步认识、理解、刻画。根据类来创建的对象,每个对象都会自动带有类的属性和特点,然后可以按照实际需要赋予每个对象特有的属性,这个过程被称为类的实例化。
Francek Chen
2025/01/22
790
Python面向对象编程
【Python篇】Python 类和对象:详细讲解(中篇)
在编程中,类和对象是面向对象编程(OOP)的核心概念。Python 是一门支持面向对象编程的语言,这意味着你可以使用类和对象来组织代码,使其更加模块化、可维护和可扩展。
半截诗
2024/10/09
2510
10 . Python之面向对象
类中的方法一般都是通过对象执行的(除去类方法,静态方法外),并且对象执行这些方法都会自动将对象空间传给方法中的第一个参数self
iginkgo18
2020/09/27
4100
10 . Python之面向对象
深入理解python中的类和对象
刚开始学习python的时候或者其他的是面向对象的编程语言的时候,难免会对类和对象理解得不太清楚。所以今天和大家分享下python中的类和对象,深入理解下python中的类和对象。
sergiojune
2018/08/08
6580
深入理解python中的类和对象
java面向对象的三大特性
封装也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,使其成为一个不可分割的整体,数据隐藏在抽象数据内部,尽可能的隐藏数据细节,只保留一些接口使其与外界发生联系。也就是说用户无需知道内部的数据和方法的具体实现细节,只需根据留在外部的接口进行操作就行。
全栈程序员站长
2022/09/08
4230
java面向对象的三大特性
java面向对象三大特性「建议收藏」
面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物使用对象的关系来描述事物之间的联系,这种思想就是面向对象。
全栈程序员站长
2022/09/08
7840
类和对象
(1) 静态的特征称为属性,动态的动作称为方法。对象中的属性和方法,在编程中实际是变量 (属性) 和函数 (方法) 。
清菡
2020/12/02
8870
类和对象
面向对象
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)
周小董
2019/03/25
6060
面向对象
Java核心基础知识:面向对象的三大特性讲义
上述的每一个步骤, 我们都是参与者, 并且需要面对具体的每一个步骤和过程, 这就是面向过程最直接的体现.
用户1880875
2021/08/26
4660
java的类和对象(三)
多态是Java中另一个重要的面向对象编程概念。多态的意思是同一个方法调用,由于对象不同可能会产生不同的行为。
堕落飞鸟
2023/04/02
3780
一篇文章讲清楚Java面向对象三大特性(基础篇)
面向对象简称 OO(Object Oriented),20 世纪 80 年代以后,有了面向对象分析(OOA)、 面向对象设计(OOD)、面向对象程序设计(OOP)等新的系统开发方式模型的研究。
Java技术江湖
2019/09/24
1.5K0
一篇文章讲清楚Java面向对象三大特性(基础篇)
【python入门到精通】python面向对象三大特点:封装,继承,多态
例子1: 1.TOM体重76.0公斤 2.TOM每次跑步会减肥0.5公斤 3.TOM每次吃东西会增重1攻击
大数据小禅
2021/12/21
3170
python学习笔记(11)python面向对象(二)面向对象的三大特点:封装,继承,多态
例子1: 1.TOM体重76.0公斤 2.TOM每次跑步会减肥0.5公斤 3.TOM每次吃东西会增重1攻击
大数据小禅
2021/08/16
4760
夯实Java基础系列1:Java面向对象三大特性(基础篇)
本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看
程序员黄小斜
2019/09/25
7060
【Python篇】Python 类和对象:详细讲解(上篇)
在编程中,类和对象是面向对象编程(OOP)的核心概念。Python 是一门支持面向对象编程的语言,这意味着你可以使用类和对象来组织代码,使其更加模块化、可维护和可扩展。
半截诗
2024/10/09
2420
java学习之路:12.概述(对象,类,封装,继承,多态)
现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,比如人,桌子,电脑,眼前的屏幕。在计算机的世界中,面对对象程序设计的思想要以对象来思考问题,首先要将现实的实体抽象为对象,然后考虑这个对象所具备的属性和行为,比如现在正在写这篇博文的我,就是一个对象,将我抽象为对象,然后识别这个对象的属性,对象具备的属性都是静态属性,比如我是男的,身高168,可以说话等等,接着识别这个对象的动态行为,如睡觉,看书,写博文。当识别出这个对象的属性和行为后,这个对象就被定义完成了,然后可以根据再根据我,了解其他人,可以将这些人特有的属性和行为封装起来来描述人,由此可见,类实质上就是封装对象属性和行为的载体,而对象则是类抽出来的一个实例。
花狗Fdog
2020/10/28
3310
C++中类,对象,封装,继承(派生),多态
类就是同一类事物的总称,比如我(一个对象)可以讲话,那么基本上所有人都具备这个属性,就将我这一类的对象称为类,类的思想就是这样产生的。更恰当的描述:类就是世间事物的抽象称呼,而对象就是这个事物相对应的实体,人类就是一个类,写博文的我,看博文的你就是人类这个类的实例化,这也是为什么人类里面有个类,动物类,植物类,都有一个类,单说一个动物类,我们只能知道是动物,,却无法确定是那种动物,而对象就是具体实例化动物。在C++语言中,类中对象的行为是以函数(方法)的形式定义的,对象的属性是以成员变量的形式定义的,而类包括对象的属性和函数。
花狗Fdog
2022/01/11
1.1K0
C++中类,对象,封装,继承(派生),多态
如何讲清楚 Java 面向对象的问题与知识?(类与对象,封装,继承,多态,接口,内部类...)
这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解。所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项目,专注 Java 后端面试题 + 解析 + 重点知识详解 + 精选文章的开源项目,希望它能伴随你我一直进步!
BWH_Steven
2021/02/24
1.2K0
如何讲清楚 Java 面向对象的问题与知识?(类与对象,封装,继承,多态,接口,内部类...)
相关推荐
通俗易懂PHP基础【9-类和对象(1)】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档