具有相同特征、相同行为的事物的集合。单个的事物也能称为类。
类的基本语法
class 类名:
类的内容:变量、类函数等
print(类名)
类的命名:大驼峰 TestCase
例:
class Car:
pass
print(Car)
输出:
对象(object)是类事物中的一个成员(个体),对象也被称为实例、实体
1、 对象的表示方法:类名()
例:
class Car:
pass
print(Car())
输出:<__main__.Car object at 0x0000000002124240>
2、类和对象的关系:类相当于建造房子的施工图纸,是一个模板,对象相当于房子。一个类可以有多个对象。
3、两个不同的对象不相等
class Car:
pass
my_car = Car()
your_car = Car()
print(my_car == your_car)
print(Car() == Car())
输出:False
False
3、类属性1、在一个类中,所有成员都具备的特征。在类定义的作用域中定义的变量,也叫类变量。
例:
# wheel、drived、elements类属性
class Car:
wheel = True
drived = True
elements = ["塑料","铁"]
# 在类的里面获取类变量
print(f"""wheel:{wheel}""")
# 在类的外面获取类变量
print(Car.elements)
输出:wheel:True
['塑料', '铁']
2、在类的外面不知直接写print(elements),会报错。
3、类属性的修改
例:
class Car:
wheel = True
drived = True
elements = ["塑料","铁"]
Car.wheel = False
print(Car.wheel)
输出:False
4、实例属性在类中某个成员具备的特征。个体特征。
1、对象获取类变量
class Car:
wheel = True
drived = True
elements = ["塑料","铁"]
my_car = Car()
print(my_car.wheel)
输出:True
2、通过类修改某个类属性和通过对象修改某个属性的区别:
通过类修改某个类属性,类的属性和所有对象的属性都会改变;
通过对象修改某个属性,只修改该对象的属性,不会修改整个类的属性。
class Car:
wheel = True
drived = True
elements = ["塑料","铁"]
my_car = Car()
Car.elements = ["塑料"]
print(Car.elements)
print(my_car.elements)
输出:['塑料']
['塑料']
class Car:
wheel = True
drived = True
elements = ["塑料","铁"]
my_car = Car()
my_car.elements = ["塑料"]
print(Car.elements)
print(my_car.elements)
输出:['塑料', '铁']
['塑料']
对象产生的过程即制造出一个对象的过程,叫对象的初始化,也叫实例化。
--init--初始化函数
class Car:
elements = ["塑料","铁"]
def __init__(self):
print("一个Car的对象正在产生")
print(Car())
输出:一个Car的对象正在产生
<__main__.Car object at 0x0000000002414400>
1、--init--函数没有返回值,只能return none
2、定义类的过程,类的内容中默认存在--init--函数。如果该函数的函数体无内容,默认不显示该函数,如果函数体不是pass,即有内容,就必须显示该函数的定义过程。
3、--init--函数的形参必须包含self,还可以自定义传入别的参数。
class Car:
elements = ["塑料","铁"]
def __init__(self,color,logo):
print("一个Car的对象正在产生")
print("第一步:放底盘")
print("第二步:装车架")
print("第三步:装轮胎")
print(f'''第四步:喷{color}颜色的漆''')
print(f"""第五步:印logo{logo}""")
print(Car("红色","保时捷"))
输出:一个Car的对象正在产生
第一步:放底盘
第二步:装车架
第三步:装轮胎
第四步:喷红色颜色的漆
第五步:印logo保时捷
<__main__.Car object at 0x0000000002459B38>
表示在对象的生产过程中,代表即将出生或者已经出生的对象的一个标记。
只能在类的里面使用,类的外面没有self。
class Car:
elements = ["塑料","铁"]
def __init__(self,color,logo):
self.color = "黄色"
self.logo = "奔驰"
print(f"""喷{color}颜色的漆""")
print(f"""logo:{logo}""")
yuze_car = Car("骚红色","保时捷")
print(yuze_car)
print(yuze_car.color)
输出:喷骚红色颜色的漆
logo:保时捷
<__main__.Car object at 0x0000000002439B38>
黄色
函数中定义的color只是形参,不是属性。如果不加self.color,print(yuze_car.color)时会报错。所以print(yuze_car.color)输出实例属性黄色。
在类里面获取实例属性用self.color表示,在类外面获取实例属性用yuze_car.color表示。
self.color与yuze_car.color相等



