欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

什么是class,什么是instance,什么是object?

程序员文章站 2022-06-04 15:14:26
...

什么是class,什么是instance,什么是object?
Class:
可以理解为一个组装工厂。假如我们要生产一个机器人,那我们先要搭个工厂吧。先确定:我们要先安装胳膊,再安装头,我们的小破机器人的流水线就搭好了。这个工厂比较智能,胳膊和头的数量都可以调。class BuildRobot():

 def __init__(self,armcount,headcount):
        self.armcount = armcount
        self.headcount = headcount

所以这里的class,就是搭了一个工厂叫BuildRobot。‘init’ 就是告诉这个流水线,首先你需要这个机器人有几个胳膊(‘armcount’),有几个脑袋(‘headcount’)。先忽略一下这里的self,以后讲。这个时候你可以run一下,这样你的class就搭好了。可是这时的工厂,因为你没有开始生产,是没有任何产出的。
下面就是instanceinstance:
可以理解为启动一次工厂生产出的机器人。现在我们用之前搭的工厂生产一个正常一点的机器人,两个胳膊一个脑袋:

`normal_robot = BuildRobot(2,1)`

查看一下胳膊数对不对?normal_robot.armcount2我们再来一个 不太正常的机器人:

weird_robot = BuildRobot(4,1)

normal_robot 和weird_robot 都是instance。
他们虽然胳膊数量不一样,但是本质上都是由这个class造出来的,由胳膊和头组成的机器人。object: 这个就比较麻烦了,大部分情况下,object和instance的含义是一样的,都是指这个造出来的robot。这两者的区别,只是在英语语言环境下的区别:normal_robot is an instance of 'buildrobot’normal_robot is a ‘buildrobot’ object上面这两个说法是等价的。