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

    浏览量

    10220
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89592
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Termux中调试圣诞树Python代码

    在Termux中调试Python代码(以圣诞树立例)非常简单,核心分为环境准备、代码编写、运行调试三个步骤,下面一步步教你操作: 一、环境准备(首次使用需做) Termux默认可能没有Python
    发表于 12-09 09:02

    Python调用API教程

    两个不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、用Requests库发送HTTP请求 使用Python调用API的第一步是发送HTTP请求,通常
    的头像 发表于 11-03 09:15 330次阅读

    termux调试python猜数字游戏

    用termux做一个猜数字游戏 下面是在Termux中创建猜数字游戏的步骤及完整实现方案,结合Python实现(最适配Termux环境): ? 一、环境准备(Termux基础配置) 1.
    发表于 08-29 17:15

    termux如何搭建python游戏

    termux如何搭建python游戏 Termux搭建Python游戏开发环境的完整指南 一、Termux基础环境准备 Termux是一款无需root即可在安卓设备上运行的Linux终端
    发表于 08-29 07:06

    K8s存储设计与Ceph集成实战

    在云原生时代,存储是制约应用性能的关键瓶颈。本文将带你深入理解K8s存储的设计原理,并手把手实现与Ceph的完美集成,让你的集群存储性能提升300%!
    的头像 发表于 08-22 11:50 605次阅读

    python app不能运行怎么解决?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    发表于 08-06 06:27

    python入门圣经-高清电子书(建议下载)

    和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、、文件与异常、代码测试等内容; 第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据
    发表于 04-10 16:53

    ​如何在虚拟环境中使用 Python,提升你的开发体验~

    RaspberryPiOS预装了Python,你需要使用其虚拟环境来安装包。今天出版的最新一期《TheMagPi》杂志刊登了我们文档负责人NateContino撰写的一篇实用教程,帮助你入门
    的头像 发表于 03-25 09:34 634次阅读
    ​如何在虚拟环境中使用 <b class='flag-5'>Python</b>,提升你的开发体验~

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是Python程序?
    的头像 发表于 03-25 09:27 1533次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    Python在嵌入式系统中的应用场景

    你想把你的职业生涯提升到一个新的水平?Python在嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言,Python的优势在于其简洁的语法、丰富的库和快速的开发周期,这使得它在某些嵌入式场景中非常有用,以下是
    的头像 发表于 03-19 14:10 1200次阅读

    使用Python3.7导入cv2时遇到错误怎么解决?

    使用 Python* 版本 3.7。 Ran Classification Python* 演示。 在导入 cv2 时遇到错误: ImportError: DLL load failed: The specified module could not be found.
    发表于 03-05 09:37

    运行OVModelForCausalLM Python模块时出错了,怎么解决?

    创建了一个自定义 Python* 代码,类似于遵循 240-dolly-2-instruction 的 Jupyter 笔记本。 OVModelForCausalLM Python* 模块运行时出错。
    发表于 03-05 06:44

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    Python Connector for InterBase连接解决方案

    适用于 InterBase 的 Python 连接器 Python Connector for InterBase 是一种可靠的连接解决方案,用于从 Python 应用程序访问 InterBase
    的头像 发表于 01-22 14:34 715次阅读

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 2233次阅读