python 面向对象编程—-类和对象

Qoqa ·
更新时间:2024-09-20
· 887 次阅读

类和对象 1.介绍对象

(1)对象对象,通俗讲,它可以是一个没有生命的静态物体,或者是一个有生命的动态物体(如果你对本章有所了解的话,可以联想跟你相亲的对象,你就会发现,看似没有关系其实却有关联)。他们都可以成为我们去研究,去思考的“对象”。而我们在学python这门语言主要是研究有生命的动态物体。(其实主要是和下面内容理解有关系啦)以上这是我自己对python对象的理解
(2)现在我们把一个人作为对象来看,看一个人你肯定先从外貌开始,他眼睛小,皮肤黑,你甚至可以猜出他的体重最多不过60kg,头发还卷等等,这些都是在静止下就能体现出来的,就被称为他的的静态特征(你细品)。而从另一方面,就是了解他的日常生活啦,例如他喜欢逛街,唱跳,rap,打篮球等,你会发现都是带有动作,而这就是他的动态行为

2.对象=属性+方法

进入正题,标题怎么理解呢?其实就是在python中的一个对象中,他的特征被称为“属性”,他的行为被称为“方法”。{为了理解你可把对象想成是小明,属性就是他的外貌特征眼睛,嘴巴什么的,而方法就是小明能做的动作吃饭,睡觉。对象(小明)=属性(嘴巴)+方法(吃饭)}
(1)在python中的代码层面来看,对象的属性实际上就是变量,而方法就是函数。我们举个例子

#p22_2.py记得这串代码待会创建实例对象要用! class Turtle: #python中类名约定以大写的字母开头 color = 'green' weight = 10 legs = 5 mouth = '大嘴' #特征的描述称为属性,在代码层面来看其实就是变量 #这里是以甲鱼为例 def climb(self): print("我在努力向前爬") def run(self): print("我在努力向前跑") def bite(self): print("我咬你!!") #这三段代码意思就是用def定义函数,self看不懂没关系后面会讲到 #方法实际上就是函数,通过调用这些函数来完成某些工作

上面的代码定义了对象的特征(属性)和行为(方法),但它并不是一个完整的对象,而我们将定义的这些称为类(class)。由于它并不是一个完整的对象,所以我们要把定义的类来创建一个真正的对象,而这个完整的对象被称为类的一个实例(instance),也叫实例对象(instance objects)
为了方便理解,我们可以从生活角度思考:国家印刷人民币的流水线要生产一系列的人民币,而印刷人民币就要人民币的模具,根据这个模具才能进行批量生产,而这个模具就是类(class)
(2)那我们如何把真正的实例对象创建出来呢?
创建一个对象,也叫类的实例化,其实不难

#我们运行p22_2.py pp = Turtle()#这就创建好了! #我们调用对象里的方法,用操作符(.)就可以,例如: pp.climb()#就会输出前面我们定义的函数内容‘我在努力向前爬’ pp.run()#输出‘我在努力向前跑’ pp.bite()#输出‘咬死你!!’

(注意:类名后面跟着小括号,跟调用函数是一样的,所以在python中,类名约定用大写字母开头,函数用小写字母开头,这样更容易区分。另外赋值操作并不是必须的,但如果没有把创建好的实例对象赋值给一个变量,那个对象就没法使用,因为没有任何引用指向这个实例,最终会被python的垃圾收集机制回收。)

面向对象编程 1.self是什么

在之前对象的方法(函数)都有一个self参数,这个self参数是到底什么呢?有什么作用呢?
我们打个比方,如果把类比作图纸,那么由类实例化后的对象才是真正可以住的房子。根据一张图纸就可以设计出成千上万的房子,它们长得都差不多,但他们有不同的主人。每个人都只能回自己的家里,陪伴自己的孩纸,所以self就相当于每个房子的门牌号,有了self,就可以轻松找到自己的房子。
python的self参数就是这个道理,由同个类可以生成无数的对象,当一个对象的方法被调用的时候,对象会将自身引用作为第一个参数传给该方法,那么python就知道需要操作哪个对象的方法了。
不理解还可以看看下面这个博主的,以下截图就是来自于他的博客python 类与对象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
顺带一提self参数的作用是绑定方法,据说有了这个参数,Python再也不会傻傻分不清是哪个对象在调用方法了,你可以认为在方法中的self其实就是实例对象的唯一标志哦!

还有什么讲不清,或者有什么问题,都可以评论,我们一起学习哦~


作者:Youth dementia



面向对象编程 对象 类和对象 面向对象 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号