类:具有的相同的"属性"和"行为""-->在编程语言中使用"类"来表示。 (统称)
实例(对象):当类被创建(定义)成功后,就可以通过类,来创建一个或者多个具体的对象(实例)。(具体的表示)
创建(定义)类
# 第一种
class Car:
pass
# 第二种
# class Car():
# pass
# 第三种
# class Car(object):
# pass
说明:
(a)class 是定义类的关键词、
(b)类名要遵循标识符的规范,并不能重复,达到"见名之意"
(c)类中主要包含的是属性和行为,也就是变量和函数,因为变量和函数包含在类中,所以称
为类的成员,把变量称为数据成员(实例变量/实例属性),把函数称为函数成员
一般情况下使用第三种创建方式
通过类创建对象(类的实例化):
语法格式:
实例化名= 类名(参数列表)
例如:
class Car(object):
pass
my_car=Car() #实例化
you_car=Car()
she_car=Car()
print(my_car)
print(you_car)
print(she_car)
以上实例打印结果:
<__main__.Car object at 0x0000028772BB3A20>
<__main__.Car object at 0x00000287748201D0>
<__main__.Car object at 0x0000028774820320>
分析:
<>:一般表示正在使用类和对象
.Car object 表示:Car类下的对象
at:在内存中存在的位置
at后面的一串数字:表示的是内存的地址,如果内存地址相同,表示的是同一个对象
如果内存地址没有显示,可以通过 id(obj) 函数获取
在python中先有类才有对象
对象的比较
class Car(object):
pass
print(a)
print(b)
a = Car()
b = Car()
print(a == b) # False
print(Car() == Car()) # False
以上实例打印结果为:
<__main__.Car object at 0x000001A898972588>
<__main__.Car object at 0x000001A8989725C0>
False
False
对象的比较要看内存地址,如果内存地址一样,就是相同的对象
类和对象的比较
class Car:
pass
print(Car) #类
print(Car()) #对象
print(Car == Car()) # 类和对象比较 False
print(Car == Car) # 类和类比较 True