类和对象的区别(Python)

就比如说:

鸟是一个类,那么布谷鸟是一个类吗?

可能这里很多人会认为就是,但是其实不是,因为布谷鸟有很多个,并不是单一实例对象。

类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。

对象是具有类类型的变量。

类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。

你可以这样来理解,类就是一类事物,而对象就是一个事物,一类事物中包含若干的事物(而这其中的具体的事物就是对象),比如说:车,你可能想到的是很多车,因为你没法具体到哪辆车,这就是一个类的概念,而如果说,我家的那辆轿车,你肯定就可以想到那具体的一辆车,而这个具体的车就是对象的概念。

在介绍python中实现类和对象之前呢我们先了解一下python中加括号与不加括号的区别

一 、函数带不带括号:

def a(x):
      return x
 
print(a)    #不带括号调用的结果:<function a at 0x1091766a8>
print(a(3)) #带括号调用的结果:3

1.不带括号时,调用的是这个函数本身
2、带括号(此时必须传入需要的参数),调用的是函数的return结果

二. class实例化带不带括号:

class clseest():
     y = '我 '
     def __init__(self):
        self.y = '你'
 x = clseest
 print(x.y)  #我
 
x = clseest()  
print(x.y)#你

不加括号,相当于对类的引用,也就是类clseest的别名而已;加括号后,变量被关联到一个对象,可以对对象添加各种信息。
即:带括号的实例化方法是调用了init()函数, 此时必须传入需要的参数

三、python中实现类和对象

class CAR:  # 类
    def __init__(self,make,model,year):
        "初始化描述汽车的属性"
        self.make = meke
        self.model = model
        self.year = year
        
    def get_descriptive_name(self):
        "返回整洁的描述信息"
        long_name = f"{self.year} {self.make} {self.name}"
        return long_name.title()
    
my_new_car = CAR('audi','a4','2022')  # 一个实例对象
print(my_new_car.get_descriptive_name())