安迪Python

V1

2023/02/01阅读:12主题:默认主题

66. 类的总结

66. 类的总结

1. 类

类是对一类事物的概括,是许多相似或相同事物的综合。

整数类。

字符串类。

浮点数类。

2. 对象

类里的每一个具体事物或每个单独的个体就是对象。

3. 类的语法

从语法上来看:类的定义是一个 class 语句,class 语句内包含了四个要素:

① 关键字class

② 类名,类名的首字母要大写

③ 英文冒号:

④ 代码块,代码块前有4个空格的缩进

66-1类的语法
66-1类的语法

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参数传值。

12. 总结

66.类的总结1
66.类的总结1

分类:

后端

标签:

Python

作者介绍

安迪Python
V1