0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python類的理解與使用

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-07 16:51 ? 次閱讀

python類的理解與使用

1. 通俗理解類

類(英文名 class),是具有相同特性(屬性)和行為(方法)的對象(實例)的抽象模板。

從定義上來理解類,是一件非常吃力的事情,特別是對那些沒有任何基礎(chǔ)的初學(xué)者。

下面我舉例來說明類中一些關(guān)鍵術(shù)語都是什么意思:

類:動物屬于一個類,植物屬于一個類

實例:貓和狗都屬于同一類,就是動物類,那么貓和狗是動物類的實例/對象。

屬性:類中所有的變量,都叫做屬性。

方法:類中的所有函數(shù),都叫做方法。

類與對象的關(guān)系就如模具和鑄件的關(guān)系,類的實例化的結(jié)果就是對象,而對象的抽象就是類,類描述了一組有相同特性(屬性)和相同行為(方法)的對象。

2. 如何定義類?

定義一個類,使用的是 class 關(guān)鍵字

下邊我定義了一個 Animal 的類

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

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

其中

Animal 是類名

__init__ 是構(gòu)造函數(shù),用于實例的初始化

self.name 是實例屬性,age 是類屬性

run 是方法,第一個參數(shù) self 是什么意思呢?這個咱后面再講。

除了上面這種寫法外

# 第一種寫法
class Animal:
  ...

還有另外兩種寫法,與之是等價的

# 第二種寫法
class Animal():
  ...

# 第二種寫法
class Animal(object):
  ...

因為在 Python 3 中,無論你是否顯示繼承自 object,Python 解釋器都會默認(rèn)你繼承 object ,這是新式類的寫法,與之對應(yīng)的是 Python 2 的經(jīng)典類寫法。

3. 如何實例化?

定義了類之后,就可以通過下邊的寫法實例化它,并訪問屬性,調(diào)用方法

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

在實例化時傳入的參數(shù) name="小黑" 傳進(jìn)入到構(gòu)造函數(shù) __init__ 中,最終賦值 self.name 成為實例的屬性。

4. 方法的調(diào)用

實例化成對象后,如果訪問實例屬性,可以用 對象.屬性名 進(jìn)行訪問。

>>> dog=Animal(name="小黑")
>>> dog.name  # 訪問屬性
'小黑'

如果要調(diào)用方法,有兩種方法

通過 對象.方法名:使用這種方法,在定義方法時 self 就代表對象(dog),調(diào)用時無需再傳入了。

>>> dog=Animal(name="小黑")
>>> dog.run()  # 調(diào)用方法
小黑 跑起來了

通過 類.方法名:使用這種方法,self 參數(shù)要傳入實例對象

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

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    使用Python進(jìn)行自然語言處理

    在探討使用Python進(jìn)行自然語言處理(NLP)的廣闊領(lǐng)域時,我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優(yōu)勢,以及如何通過Python實現(xiàn)一些基礎(chǔ)的NLP任務(wù)
    的頭像 發(fā)表于 07-04 14:40 ?343次閱讀

    python安裝后idle在哪兒

    Python 是一種非常流行的編程語言,它使用簡單且易于理解的語法,使得它成為初學(xué)者和專業(yè)開發(fā)人員的首選。Python 的安裝非常簡單,您只需在官方網(wǎng)站上下載適合您操作系統(tǒng)的安裝包,然后按照提示進(jìn)行
    的頭像 發(fā)表于 11-29 14:52 ?1087次閱讀

    python語言特點(diǎn)有哪些

    、詳實和細(xì)致的描述,共計超過1500字。 簡潔優(yōu)雅: Python以簡潔和優(yōu)雅的語法而著稱。相對于其他編程語言,Python代碼通??雌饋砀忧逦鬃x。這得益于Python采用了面向?qū)ο蟮姆椒?,通過使用縮進(jìn)而不是括號來劃分代碼塊
    的頭像 發(fā)表于 11-29 14:29 ?955次閱讀

    python軟件怎么運(yùn)行代碼

    理解的機(jī)器代碼。 在本文中,我們將詳細(xì)介紹如何運(yùn)行Python代碼。我們將探討以下幾個方面:安裝Python,設(shè)置環(huán)境變量,選擇一個集成開發(fā)環(huán)境(IDE)或文本編輯器,編寫代碼,運(yùn)行代碼和調(diào)試代碼。 第一步是安裝
    的頭像 發(fā)表于 11-28 16:02 ?817次閱讀

    python如何導(dǎo)入模塊

    Python是一種強(qiáng)大的編程語言,它支持模塊化編程,使得開發(fā)者可以將代碼分解為可重用且獨(dú)立的模塊。模塊是一個包含函數(shù)、和變量等定義的文件,我們可以使用import語句將這些模塊導(dǎo)入到我們的程序中
    的頭像 發(fā)表于 11-22 14:46 ?848次閱讀

    Python編程語言屬于什么語言

    、易于學(xué)習(xí)和理解的語言,強(qiáng)調(diào)代碼的可讀性和簡潔性。Python的設(shè)計真正做到了"堅守一種方法",非常注重代碼的正確性和一致性。這也是為什么Python非常受歡迎的主要原因之一。接下來,我將詳細(xì)介紹
    的頭像 發(fā)表于 11-22 14:31 ?1268次閱讀

    python中number代表什么

    是正數(shù)、負(fù)數(shù)或零。整數(shù)類型在Python中有很多應(yīng)用場景,例如統(tǒng)計數(shù)據(jù)、索引、循環(huán)計數(shù)等。在Python中,整數(shù)
    的頭像 發(fā)表于 11-22 09:50 ?1680次閱讀

    python里面format怎么理解

    Python中,格式化字符串是一種用來創(chuàng)建動態(tài)字符串的強(qiáng)大工具。它允許你在字符串中插入變量、表達(dá)式和其他值,從而根據(jù)需要創(chuàng)建不同形式的輸出。 str.format() 方法是Python中最
    的頭像 發(fā)表于 11-22 09:42 ?422次閱讀

    python里item的用法

    、元組等數(shù)據(jù)結(jié)構(gòu)中的應(yīng)用。 首先,我們需要理解item的含義。在計算機(jī)科學(xué)中,item通常表示一個集合或序列中的一個元素。對于有序集合(如列表或元組),item的位置通常稱為索引。對于無序集合(如字典或集合),item的位置通常沒有明確的含義。 在Python中,列表是
    的頭像 發(fā)表于 11-21 15:09 ?3206次閱讀

    如何理解java中的抽象

    的功能,同時也可以強(qiáng)制子類實現(xiàn)特定的方法。 為了理解抽象的概念,我們首先來看一下為什么需要抽象。在面向?qū)ο蟮木幊讨校^承是一種重要的概念,它允許一個繼承另一個
    的頭像 發(fā)表于 11-21 10:16 ?509次閱讀

    如何用Python理解委托模式

    voice 產(chǎn)生“狗吠 ” 聲,這時候就可以采用 委托模式 。下面就用Python理解這個設(shè)計模式。 Python里,在委托者對象中
    的頭像 發(fā)表于 11-02 15:30 ?527次閱讀
    如何用<b class='flag-5'>Python</b>來<b class='flag-5'>理解</b>委托模式

    Python中元的作用

    1.什么是理解之前,我們必須先掌握Python中的(class)。 和大多數(shù)語言一樣,Pyt
    的頭像 發(fā)表于 11-02 11:18 ?448次閱讀
    <b class='flag-5'>Python</b>中元<b class='flag-5'>類</b>的作用

    Python中普通方法、靜態(tài)方法、方法的區(qū)別

    1. 場景 前幾天,有一個小伙伴過來問我,Python 中的 @staticmethod、@classmethod、self、cls 分別代表什么意思,自己平時光顧著用,不知道具體的含義? 事實上
    的頭像 發(fā)表于 11-02 11:03 ?678次閱讀

    PyJNIus :讓你在Python中輕松調(diào)用Java方法

    PyJNIus 是一個神奇的 Python 第三方模塊。它能使用Java本地接口將Java作為Python訪問的Python模塊。 如果
    的頭像 發(fā)表于 11-01 10:45 ?716次閱讀

    PyJNIus:在Python中輕松調(diào)用Java方法

    PyJNIus 是一個神奇的 Python 第三方模塊。它能使用Java本地接口將Java作為Python訪問的Python模塊。 如果
    的頭像 發(fā)表于 10-30 11:32 ?743次閱讀