溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

pytho中有哪些class定義類

發(fā)布時間:2020-08-25 14:03:36 來源:億速云 閱讀:138 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(guān)pytho中有哪些class定義類,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

在面向?qū)ο蟮某绦蛟O(shè)計(jì)過程中有兩個重要概念:類(class)和對象(object,也被稱為實(shí)例,instance),其中類是某一批對象的抽象,可以把類理解成某種概念;對象才是一個具體存在的實(shí)體。從這個意義上看,日常所說的人,其實(shí)都是人的對象,而不是人類。

Python 定義類的簡單語法如下:

class 類名:
    執(zhí)行語句...
    零個到多個類變量...
    零個到多個方法...

類名只要是一個合法的標(biāo)識符即可,但這僅僅滿足的是 Python 的語法要求:如果從程序的可讀性方面來看,Python 的類名必須是由一個或多個有意義的單詞連綴而成的,每個單詞首字母大寫,其他字母全部小寫,單詞與單詞之間不要使用任何分隔符。

從上面定義來看,Python 的類定義有點(diǎn)像函數(shù)定義,都是以冒號(:)作為類體的開始,以統(tǒng)一縮進(jìn)的部分作為類體的。區(qū)別只是函數(shù)定義使用 def 關(guān)鍵字,而類定義則使用 class 關(guān)鍵字。

Python 的類定義由類頭(指 class 關(guān)鍵字和類名部分)和統(tǒng)一縮進(jìn)的類體構(gòu)成,在類體中最主要的兩個成員就是類變量和方法。如果不為類定義任何類變量和方法,那么這個類就相當(dāng)于一個空類,如果空類不需要其他可執(zhí)行語句,則可使用 pass 語句作為占位符。例如,如下類定義是允許的:

class Empty:
    pass

通常來說,空類沒有太大的實(shí)際意義。

類中各成員之間的定義順序沒有任何影響,各成員之間可以相互調(diào)用。

Python 類所包含的最重要的兩個成員就是變量和方法,其中類變量屬于類本身,用于定義該類本身所包含的狀態(tài)數(shù)據(jù):而實(shí)例變量則屬于該類的對象,用于定義對象所包含的狀態(tài)數(shù)據(jù):方法則用于定義該類的對象的行為或功能實(shí)現(xiàn)。

Python 是一門動態(tài)語言,因此它的類所包含的類變量可以動態(tài)增加或刪除(程序在類體中為新變量賦值就是增加類變量),程序也可在任何地方為已有的類增加變量;程序可通過 del 語句刪除己有類的類變量。

類似的是,Python 對象的實(shí)例變量也可以動態(tài)增加或刪除(只要對新實(shí)例變量賦值就是增加實(shí)例變量),因此程序可以在任何地方為己有的對象增加實(shí)例變量;程序可通過 del 語句刪除已有對象的實(shí)例變量。

在類中定義的方法默認(rèn)是實(shí)例方法,定義實(shí)例方法的方法與定義函數(shù)的方法基本相同,只是實(shí)例方法的第一個參數(shù)會被綁定到方法的調(diào)用者(該類的實(shí)例),因此實(shí)例方法至少應(yīng)該定義一個參數(shù),該參數(shù)通常會被命名為 self。

下面程序?qū)⒍x一個 Person 類:

class Person :
    '這是一個學(xué)習(xí)Python定義的一個Person類'
    # 下面定義了一個類變量
    hair = 'black'
    def __init__(self, name = 'Charlie', age=8):
        # 下面為Person對象增加2個實(shí)例變量
        self.name = name
        self.age = age
    # 下面定義了一個say方法
    def say(self, content):
        print(content)

看完上述內(nèi)容,你們對pytho中有哪些class定義類有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI