66. 类的总结
文章目录
- 66. 类的总结
- 1. 类
- 2. 对象
- 3. 类的语法
- 4. 属性
- 5. 方法
- 6. 创建对象
- 7. 调用属性
- 8. 调用方法
- 9. 方法的值的传递
- 第1情况:没有值
- 第2种情况:有值
- 10. `__init__`方法
- 1. `__init__`写法
- 2. `__init__`作用
- 3. 重点关注
- 11. 自定义函数和方法的异同
- 1. 相同点
- 2. 定义不同
- 3. 调用语法不用
- 4. 参数形式不同
- 12. 总结
1. 类
类是对一类事物的概括,是许多相似或相同事物的综合。
整数类。
字符串类。
浮点数类。
2. 对象
类里的每一个具体事物或每个单独的个体就是对象。
3. 类的语法
从语法上来看:类的定义是一个 class 语句,class 语句内包含了四个要素:
① 关键字class
② 类名,类名的首字母要大写
③ 英文冒号:
④ 代码块,代码块前有4个空格的缩进
4. 属性
定义:对象具有的特征称为类的属性。
语法:直接写在类里的变量称为类属性。
类属性=变量
如果是在类中,下面的变量color_1
就是类的属性。
color_1 = '红色'
5. 方法
定义:对象具有的功能称为类的方法。
语法:在类中被定义的函数称之为类的方法。
注意注意注意,方法的第一个参数必须是self
。
def drive(self):
print('汽车正在向前行驶!')
6. 创建对象
对象名=类名()
等号的左边我们写给生产对象起的名字。
等号右边写类名,表示这个对象是根据这个类生产出来的。
# 定义一个车类,类名为Cars
class Cars:
7. 调用属性
直接写在类里的变量称为类属性。
调用属性即调用变量。
在类外部调用属性:对象名.属性
# 定义一个车类,类名为Cars
class Cars:
# 直接写在类里的变量称为类属性
color_1 = "红色"
# 创建对象,对象名为aodi_A6
aodi_A6 = Cars( )
# 对象名.属性,调用属性,查看汽车的颜色
# 对象名为aodi_A6
# 属性为color_1
print(aodi_A6.color_1)
【终端输出】
红色
在类内部的方法中调用类的属性,需要在前面加上slef. 如:
self.属性名
# 定义一个车类,类名为Cars
class Cars:
# 直接写在类里的变量称为类属性
type_1 = "小轿车"
# 定义在类中的函数称为方法
def drive(self):
print(f'经测试,{self.type_1}的最高时速是120公里每小时。')
# 创建对象,对象名为aodi_A6
aodi_A6 = Cars( )
# 调用方法
aodi_A6.drive( )
【终端输出】
经测试,小轿车的最高时速是120公里每小时。
下面的语句是类Cars
中的drive
方法里的代码。
print(f'经测试,{self.type_1}的最高时速是120公里每小时。')
type_1
是类里的属性。
在类的方法中调用类的属性,语法为self.属性名。
因此,这里调用属性的语法为self.type_1
。
8. 调用方法
在类中被定义的函数称之为类的方法。
调用方法即调用函数。
对象名.方法名(值,…)
# 定义一个车类,类名为Cars
class Cars:
# 类的第1个方法
def drive(self):
print('汽车正在向前行驶!')
# 创建对象,对象名为aodi_A6
aodi_A6 = Cars( )
# 调用方法,检查前进的功能
aodi_A6.drive()
【终端输出】
汽车正在向前行驶!
9. 方法的值的传递
第1情况:没有值
对象名.方法名( )
# 定义一个车类,类名为Cars
class Cars:
# 在类中定义的函数称为方法
def drive(self):
# 方法中的代码块
print('汽车正在向前行驶!')
# 创建对象:对象名=类名( ),这里对象名为aodi_A6
aodi_A6 = Cars( )
# 调用方法检查汽车前进的功能:对象名.方法名(值)
aodi_A6.drive()
【终端输出】
汽车正在向前行驶!
aodi_A6.drive()
即为调用方法语句,方法drive
的括号为空,没有值传递。
第2种情况:有值
对象名.方法名(值,…)
需要传递值时括号中写入具体值或变量名。
# 定义一个车类,类名为Cars
class Cars:
# 在类中定义的函数称为方法,speed是外界传入的值
def drive(self, speed):
print(f'汽车可以提速到{speed}公里每小时!')
# 创建对象:对象名=类名( )
aodi_A6 = Cars( )
# 调用方法语法:对象名.方法名(值),120是要传入方法的具体值
aodi_A6.drive(120)
【终端输出】
汽车可以提速到120公里每小时!
aodi_A6.drive(120)
即为调用方法语句,方法drive
的括号中的120
就是要传递的值。
10. __init__
方法
1. __init__
写法
__init__
方法名前后格有2条小横线,注意是前面2条,后面2条,总的4条。初学者易写成2条小横线。
2. __init__
作用
__init__
方法的作用就是,在类创建对象时,不需要调用方法语句,就可以自动执行__init__
方法中的代码块。
class Test:
def __init__ (self):
print("只要有创建对象语句,我就会被输出。")
def A(self):
print("要调用方法A,我才输出。")
# 创建对象:对象名=类名( )
ceshi= Test( )
【终端输出】
只要有创建对象语句,我就会被输出。
class Test:
def __init__ (self):
print("只要有创建对象语句,我就会被输出")
def A(self):
print("要调用方法A,我才输出。")
# 创建对象:对象名=类名( )
ceshi= Test( )
# 调用方法:对象名.方法名
ceshi.A( )
【终端输出】
只要有创建对象语句,我就会被输出
要调用方法A,我才输出。
3. 重点关注
__init__
方法的参数值通常是创建对象时传入的值。
__init__
方法的参数值实际上就是类的属性。
温馨提示:在类内部的方法中调用类的属性就需要用self.属性名。
# 定义一个求和类,类名为Sum
class Sum:
# 在类中定义的函数称为方法
# 方法名为__init__
def __init__(self,x,y):
self.x = x
self.y = y
# 方法中的代码块
print(self.x+self.y)
# 创建对象:对象名=类名( )
he= Sum(2,4)
【终端输出】
6
11. 自定义函数和方法的异同
1. 相同点
都是一个def语句,语法格式相同。
2. 定义不同
在类里的def语句称为方法。
# 定义一个求和类,类名为Sum
class Sum:
def qiuhe(self,x,y):
# 方法中的代码块
self.x = x
self.y = y
# 方法中的代码块
print(self.x+self.y)
# 创建对象:对象名=类名( )
he= Sum( )
# 调用方法:对象名.方法名(值)
he.qiuhe(2,4)
【终端输出】
6
在类外的def语句称为自定义函数。
def qiuhe(x,y):
# 方法中的代码块
return (x+y)
qiuhe(2,4)
【终端输出】
6
3. 调用语法不用
调用方法:对象名.方法名(值,…)
# 调用方法:对象名.方法名(值)
he.qiuhe(2,4)
调用函数:函数名(值,…)
qiuhe(2,4)
4. 参数形式不同
方法的第一参数通常为self。
调用类的方法时不需要给self参数传值。