66. Python 类的总结

news2024/11/17 4:50:19

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

12. 总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192628.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity渲染管线(Render Pipeline)笔记

Rendering是什么 渲染Rendering可以理解为将拿到的3D数据生成一副2D图像的过程。 这些3D数据包含:3D模型本身的点的信息,三角形面的描述信息,模型应用的材质以及摆放的虚拟相机的信息等。Rendering过程会使用全部的数据(物体的几何…

摄像头录像大师推荐?如何录制摄像头,图文教程

现如今,很多笔记本电脑上都会携带摄像头,用来录制摄像头画面,方便小伙伴的时候。可很多小伙伴却表示,自己不知道电脑摄像头画面该如何录制。有什么有什么好用的摄像头录制大师?如何录制摄像头画面?本篇文章…

【10w字】超详细【百分百拿offer】的面试教程,接口测试篇

1.请问你是如何做接口测试的? 大体来说,经历以下过程:接口需求调研、接口测试工具选择、接口测试用例编写、接口测试执行、接口测试回归、接口测试自动化持续集成。 具体来说,接口测试流程分成以下九步: 第一步&…

RabbitMq之发布确认(高级)

一.发送消息到交换机失败 正常情况下生产者只发布消息到交换机,无法确定是否成功把消息发送到交换机当中,由此发布确认的回调函数可以通知生产者消息是否发送到了交换机。 代码如下 1.先创建交换机、队列等信息 package jot.jothot.testMq;import or…

OS 学习笔记(6) 操作系统引导

OS 学习笔记(6) 操作系统引导 这篇笔记对应的王道OS 1.5 操作系统引导,同时参考了 《Operating System Concepts, Ninth Edition》和 俗称ostep的《 Operating Systems: Three Easy Pieces》还有 《Operating Systems: Principles and Practice》 文章目录OS 学习笔…

实战还原--从大黄蜂样本到域控管理员技术解析

0 前言实战案例还原《BumbleBee Roasts Its Way To Domain Admin》一文详细的描述了一次渗透案例,但其文章组织架构建立在ATT&CK框架上,而不是按照时间线逻辑来组织,因此对于渗透人员了解学习其前后过程有些困难,特此梳理一番…

发布微信小程序获取收集用户信息权限

前言在发布微信小程序的时候我们经常会遇到审核不通过的情况,其中一种特别让我头疼就是说小程序收集、使用和储存用户信息。不给予通过。但是他们的接口又不能提供这个功能,并且老是改动,真的特别的麻烦加无语。有时候审核偷一下懒&#xff0…

算法刷题-回文数、找出小于平均值的数、旋转图像(C_C++)

文章目录回文数找出小于平均值的数旋转图像回文数 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的…

光电耦合器和MOSFET之间的差异

光电耦合器和MOSFET之间的差异 介绍 光电耦合器/光耦合器和固态继电器(光电MOSFET或光耦MOSFET(OCMOS FET))在保持电隔离的同时传输信号,但存在一些重要差异。 结构差异 下图显示了光电耦合器和OCMOS FET的主要内部…

Vue实战第2章:简单的分配页面布局

缓冲 前言 本篇在讲什么 本篇作为Vue实战的第二章,跟代码逻辑无关,主要是简单的先设计一下个人网站的各个模块内容,明确一下我们想要将网站做出什么样子 本篇的特色 具有全流程的图文教学 重实践,轻理论,快速上…

趣味三角——第6章——两个几何定理

第6章 两个几何定理 It is the glory of geometry that from so few principles, fetched from without, it is able to accomplish so much. (几何学的荣耀在于,仅从几个原理出发,外求于无物,但却能够完成如此非凡的壮举。) ——Isaac N…

linux基本功系列-top命令实战

文章目录一. top命令介绍二. 语法格式及常用选项三. 参考案例3.1 显示进程信息3.2 显示完整的进程命令3.3 以批处理的形式展示3.4 设置信息更新频次3.5 显示指定进程号的信息3.6 top面板中常用参数3.7 其他用法四. top的相关说明4.1 交互命令介绍4.2 top面板每行信息的含义4.2.…

MySQL(八):事务的隔离级别、MVCC的原理

目录一、事务的隔离级别1.1 事务的隔离性1.2 事务并发执行引发的一致性问题1.2.1 脏写1.2.2 脏读1.2.3 不可重复读1.2.4 幻读1.3 SQL标准中的四种隔离级别1.4 MySQL中支持的4中隔离级别二、MVCC原理2.1 版本链2.2 ReadView2.3 READ COMMITED 每次读取数据前都生成一个ReadView2…

使用独立显卡安装黑苹果,但无法扩展显示器的解决方案

使用独立显卡安装黑苹果,但无法扩展显示器的解决方案 网上的教程 本文的外部链接🔗 引用文中的一句话:“这也许是无法驱动独显的黑苹果笔记本想要外接显示器的唯一方案。” ---- 购买拥有displaylink的外置显卡的usb转接器 文章作者给我了…

word@菜单自定义和公式输入

菜单栏快捷键设置 word 设置(选项) Word options (General) - Microsoft Support 点击文件->选项 自定义word菜单 自定义功能区 Customize the ribbon in Word - Microsoft Support Customizing the source list of commandsThe ribbon listAdd or remove commandsReor…

[golang Web开发] 2.golang web开发:操作数据库,增删改查,单元测试

简介 Go 语言中的 database/sql包定义了对数据库的一系列操作,database/sql/driver包定义了应被数据库驱动实现的接口,这些接口会被sql包使用.但是 Go语言没有提供任何官方的数据库驱动,所以需要导入第三方的数据库驱动,不过连接数据库之后对数据库操作的…

超经典JavaIDEA 10个插件 Java开发工程师

工欲善其事,必先利其器。 作为一名合格的程序员,合理配置我们所用的IDEA,是高效开发的必修课。而如今的插件工具也越来越好用,不仅基本具备了智能提示,还可以自动补全代码,甚至能够在查出bug的同时提供修改…

如何彻底删除硬盘数据?电脑高手也恢复不了

实用的小命令,就是彻底删除硬盘上的数据,硬盘恢复软件也恢复不了! 1.以管理员身份运行cmd窗口,打开cmd,如下图所示: 2.在命令提示窗口中,直接输入cipher /w:路径,输入这个命令加上路径即可将文件彻底删除! 可以从整个命令说明上看到是从整个卷上可用的未使用磁盘空间…

Git (2) :Git练习--分支的新建与合并

一.首先有个问题 ? 在进行git练习前,有个问题需要提下。。。。 csdn无法登录了。 查了一下资料,是因为CSDN服务器的各地相应速度不一样,辽宁的响应是超时的,所以通过在hosts文件中指定域名http://csdnimg.cn的服务器…

机器学习之卷积操作

很多好主意一旦踏上语义鸿沟,就再也听不到。 卷积,在图像、视觉领域乃老生常谈的内容,但是对于具体工作细节仍然值得我去学习。 卷积原理 卷积,就是利用一个小的矩阵(或者更高维向量)作用于图像矩阵(或者特征矩阵),然…