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

类和对象

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、在数学中,常量指不变的量,如e,π等;变量回指可以取不同值的量(因变量和自变量)答。变量是常量的发展,常量是变量的特例。如y=2x+15,式子中15是常量,x、y是变量(y就是因变量,x就是自变量)。
2、在程序中,常量的值不可以修改,任何尝试修改常量的操作都会导致编译出错。变量可以通过赋值来改变值;常量在定义的时候必须初始化。变量可以在定义时不进行初始化; 常量本身没有地址属性(除字符串常量等),而变量有地址属性。所以常量只能用做右值,而变量左值右值都可以。

面向对象编程

1.self是什么

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值