0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python类的理解与使用

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-03-07 16:51 次阅读

python类的理解与使用

1. 通俗理解类

类(英文名 class),是具有相同特性(属性)和行为(方法)的对象(实例)的抽象模板。

从定义上来理解类,是一件非常吃力的事情,特别是对那些没有任何基础的初学者。

下面我举例来说明类中一些关键术语都是什么意思:

类:动物属于一个类,植物属于一个类

实例:猫和狗都属于同一类,就是动物类,那么猫和狗是动物类的实例/对象。

属性:类中所有的变量,都叫做属性。

方法:类中的所有函数,都叫做方法。

类与对象的关系就如模具和铸件的关系,类的实例化的结果就是对象,而对象的抽象就是类,类描述了一组有相同特性(属性)和相同行为(方法)的对象。

2. 如何定义类?

定义一个类,使用的是 class 关键字

下边我定义了一个 Animal 的类

class Animal:
    age = 0
    def __init__(self, name):
        self.name = name

    def run(self):
        print(f"{self.name} 跑起来了")

其中

Animal 是类名

__init__ 是构造函数,用于实例的初始化

self.name 是实例属性,age 是类属性

run 是方法,第一个参数 self 是什么意思呢?这个咱后面再讲。

除了上面这种写法外

# 第一种写法
class Animal:
  ...

还有另外两种写法,与之是等价的

# 第二种写法
class Animal():
  ...

# 第二种写法
class Animal(object):
  ...

因为在 Python 3 中,无论你是否显示继承自 object,Python 解释器都会默认你继承 object ,这是新式类的写法,与之对应的是 Python 2 的经典类写法。

3. 如何实例化?

定义了类之后,就可以通过下边的写法实例化它,并访问属性,调用方法

>>> class Animal:
...     def __init__(self, name):
...         self.name = name
...     def run(self):
...         print(f"{self.name} 跑起来了")
...
>>>
>>> dog=Animal(name="小黑")  # 实例化出 dog 对象

在实例化时传入的参数 name="小黑" 传进入到构造函数 __init__ 中,最终赋值 self.name 成为实例的属性。

4. 方法的调用

实例化成对象后,如果访问实例属性,可以用 对象.属性名 进行访问。

>>> dog=Animal(name="小黑")
>>> dog.name  # 访问属性
'小黑'

如果要调用方法,有两种方法

通过 对象.方法名:使用这种方法,在定义方法时 self 就代表对象(dog),调用时无需再传入了。

>>> dog=Animal(name="小黑")
>>> dog.run()  # 调用方法
小黑 跑起来了

通过 类.方法名:使用这种方法,self 参数要传入实例对象

>>> dog=Animal(name="小黑")
>>> Animal.run(dog)
小黑 跑起来了

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 面向对象
    +关注

    关注

    0

    文章

    64

    浏览量

    9983
  • python
    +关注

    关注

    56

    文章

    4792

    浏览量

    84628
收藏 人收藏

    评论

    相关推荐

    使用Python进行串口通信的案例

    python复制代码 import serialimport time # 配置串口参数serial_port = '/dev/ttyUSB0' # 在Windows上可能是 'COM3' 或其他
    的头像 发表于 11-22 09:11 179次阅读

    使用Python进行图像处理

    下面是一个关于使用Python在几行代码中分析城市轮廓线的快速教程。
    的头像 发表于 11-07 10:14 209次阅读
    使用<b class='flag-5'>Python</b>进行图像处理

    如何帮助孩子高效学习Python:开源硬件实践是最优选择

    显著提升孩子的学习兴趣和对Python原理的理解。本文将探讨为何使用Raspberry Pi(树莓派)或Unihiker(行空板)等开源硬件是孩子们掌握Python的最佳途径。 让孩子们在Py
    的头像 发表于 09-06 09:49 307次阅读

    pytorch和python的关系是什么

    在当今的人工智能领域,Python已经成为了最受欢迎的编程语言之一。Python的易学易用、丰富的库和框架以及强大的社区支持,使其成为了数据科学、机器学习和深度学习等领域的首选语言。而在深度学习领域
    的头像 发表于 08-01 15:27 1886次阅读

    Python建模算法与应用

    Python作为一种功能强大、免费、开源且面向对象的编程语言,在科学计算、数学建模、数据分析等领域展现出了卓越的性能。其简洁的语法、对动态输入的支持以及解释性语言的本质,使得Python在多个平台
    的头像 发表于 07-24 10:41 527次阅读

    Python在AI中的应用实例

    Python在人工智能(AI)领域的应用极为广泛且深入,从基础的数据处理、模型训练到高级的应用部署,Python都扮演着至关重要的角色。以下将详细探讨Python在AI中的几个关键应用实例,包括机器学习、深度学习、自然语言处理、
    的头像 发表于 07-19 17:16 1057次阅读

    如何实现Python复制文件操作

    Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊方法。下面我们开始学习这九种不同的方法来实现 Pyt
    的头像 发表于 07-18 14:53 411次阅读

    opencv-python和opencv一样吗

    不一样。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了大量的图像和视频处理功能。OpenCV-Python
    的头像 发表于 07-16 10:38 1161次阅读

    用pycharm进行python爬虫的步骤

    以下是使用PyCharm进行Python爬虫的步骤: 安装PyCharm和Python 首先,您需要安装PyCharm和Python。PyCharm是一个流行的Python集成开发环境
    的头像 发表于 07-11 10:11 824次阅读

    使用Python进行自然语言处理

    在探讨使用Python进行自然语言处理(NLP)的广阔领域时,我们首先需要理解NLP的基本概念、其重要性、Python在NLP中的优势,以及如何通过Python实现一些基础的NLP任务
    的头像 发表于 07-04 14:40 441次阅读

    d放大器和ab区别在哪

    放大器:深入解析两种放大器的原理、优缺点及应用 摘要:本文将详细介绍D放大器和AB放大器的基本概念、工作原理、优缺点以及应用场景。通过对这两种放大器的深入分析,帮助读者更好地理解它们之间的区别,从而在实际应用中做出合适的选
    的头像 发表于 06-10 15:48 742次阅读

    基于Python的地图绘制教程

    本文将介绍通过Python绘制地形图的方法,所需第三方Python相关模块包括 rasterio、geopandas、cartopy 等,可通过 pip 等方式安装。
    的头像 发表于 02-26 09:53 1198次阅读
    基于<b class='flag-5'>Python</b>的地图绘制教程

    如何使用linux下gdb来调试python程序

    如何使用linux下gdb来调试python程序  在Linux下,可以使用GDB(GNU调试器)来调试Python程序。GDB是一个强大的调试工具,可以帮助开发者诊断和修复程序中的错误。在本文
    的头像 发表于 01-31 10:41 2577次阅读

    如何使用Python进行图像识别的自动学习自动训练?

    图像识别的自动学习和自动训练。 首先,让我们了解一下图像识别的基本概念。图像识别是指通过计算机程序识别和理解图像内容的过程。自动学习和自动训练是指计算机通过观察和学习数据,自动提取特征并训练模型来实现图像识别的能力。 在Python中,有许
    的头像 发表于 01-12 16:06 574次阅读

    split在python中的用法

    split在python中的用法 split()是Python中一个非常常用的字符串函数,它能够根据指定的分隔符将一个字符串分割成多个子字符串,并返回一个包含这些子字符串的列表。本文将详细介绍
    的头像 发表于 12-25 15:12 2018次阅读