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

    浏览量

    9923
  • python
    +关注

    关注

    51

    文章

    4678

    浏览量

    83476
收藏 人收藏

    评论

    相关推荐

    python中如何交换两个数的值相加

    数的值,并对其应用进行详细解析。 一、变量交换原理解析 传统方式 在Python中,交换两个数的值通常可以使用一个临时变量进行操作。假设有变量a和b,要实现交换,可以通过如下代码实现: temp = a a = b b = temp 这种方法的原理非常简单:首先将a的值赋
    的头像 发表于 11-29 17:29 353次阅读

    python安装后idle在哪儿

    Python 是一种非常流行的编程语言,它使用简单且易于理解的语法,使得它成为初学者和专业开发人员的首选。Python 的安装非常简单,您只需在官方网站上下载适合您操作系统的安装包,然后按照提示进行
    的头像 发表于 11-29 14:52 485次阅读

    python语言特点有哪些

    、详实和细致的描述,共计超过1500字。 简洁优雅: Python以简洁和优雅的语法而著称。相对于其他编程语言,Python代码通常看起来更加清晰易读。这得益于Python采用了面向对象的方法,通过使用缩进而不是括号来划分代码块
    的头像 发表于 11-29 14:29 459次阅读

    python软件怎么运行代码

    理解的机器代码。 在本文中,我们将详细介绍如何运行Python代码。我们将探讨以下几个方面:安装Python,设置环境变量,选择一个集成开发环境(IDE)或文本编辑器,编写代码,运行代码和调试代码。 第一步是安装
    的头像 发表于 11-28 16:02 544次阅读

    Python2与Python3的差异

    Python2与Python3是两个不同的版本,它们在语法、功能和性能等方面存在一些差异。下面是对Python2和Python3的详尽、详实、细致的比较,分为以下几个方面: 语法差异
    的头像 发表于 11-23 16:48 355次阅读

    Python编程语言属于什么语言

    、易于学习和理解的语言,强调代码的可读性和简洁性。Python的设计真正做到了"坚守一种方法",非常注重代码的正确性和一致性。这也是为什么Python非常受欢迎的主要原因之一。接下来,我将详细介绍
    的头像 发表于 11-22 14:31 649次阅读

    python如何换行而不运行代码

    Python中,换行是一种用来增加代码的可读性和组织性的方式。当你在编写Python代码时,换行通常用于分隔不同的代码行或块,使其更易于阅读和理解。然而,并非所有的换行都会运行代码,有一些特殊
    的头像 发表于 11-22 10:52 1297次阅读

    python里面format怎么理解

    Python中,格式化字符串是一种用来创建动态字符串的强大工具。它允许你在字符串中插入变量、表达式和其他值,从而根据需要创建不同形式的输出。 str.format() 方法是Python中最
    的头像 发表于 11-22 09:42 193次阅读

    python里item的用法

    、元组等数据结构中的应用。 首先,我们需要理解item的含义。在计算机科学中,item通常表示一个集合或序列中的一个元素。对于有序集合(如列表或元组),item的位置通常称为索引。对于无序集合(如字典或集合),item的位置通常没有明确的含义。 在Python中,列表是
    的头像 发表于 11-21 15:09 1607次阅读

    如何用Python理解委托模式

    voice 类产生“狗吠 ” 声,这时候就可以采用 委托模式 。下面就用Python理解这个设计模式。 Python里,在委托者类对象中,需要这么设计: 1. 重写__getattr__方法,使得委托者获得处理者的属性。 2
    的头像 发表于 11-02 15:30 291次阅读
    如何用<b class='flag-5'>Python</b>来<b class='flag-5'>理解</b>委托模式

    Python中元类的作用

    1.什么是类 在理解元类之前,我们必须先掌握Python中的类(class)。 和大多数语言一样,Python中的类知识用来描述如何“生成一个对象”: 但是,在Python中,类不仅能
    的头像 发表于 11-02 11:18 237次阅读
    <b class='flag-5'>Python</b>中元类的作用

    Python SDK包的使用

    Shodan Web端非常好用,但如果我们有从 Python 搜索的需求怎么办? 没关系,Shodan 官方也提供了 Python SDK 包,下面就来讲讲这个 SDK 包的使用。 1.准备 开始
    的头像 发表于 10-30 15:51 428次阅读
    <b class='flag-5'>Python</b> SDK包的使用

    一文解读Python对Excel操作过程

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库, 能够轻松完成很多常见的任务。 它的语法简捷和清晰, 尽量使用无异
    发表于 09-21 06:56

    为什么python适合人工智能

    Python是一种相对简单的编程语言。它的语法和结构逻辑清晰,代码易于阅读和理解Python中没有像C++或Java那样的过多的符号和特殊语法。这使得Python很容易让编程新手进入
    的头像 发表于 08-13 14:30 757次阅读

    人工智能python是什么

    人工智能Python的应用场景首先是自然语言处理领域。在自然语言处理中,Python可用于文本处理、语音识别和语音合成、情感分析等多个方面。自然语言处理可以让机器识别自然语言,更好地理解人们的疑问和需要,并提供有用的输出。
    的头像 发表于 08-13 10:44 717次阅读