python定義類不寫括號嗎

johnchou發表於2021-09-11

python定義類不寫括號嗎

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

class 類名:
    執行語句...
    零個到多個類變數...
    零個到多個方法...

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

從上面定義來看,Python 的類定義有點像函式定義,都是以冒號(:)作為類體的開始,以統一縮排的部分作為類體的。區別只是函式定義使用 def 關鍵字,而類定義則使用 class 關鍵字。

Python 的類定義由類頭(指 class 關鍵字和類名部分)和統一縮排的類體構成,在類體中最主要的兩個成員就是類變數和方法。如果不為類定義任何類變數和方法,那麼這個類就相當於一個空類,如果空類不需要其他可執行語句,則可使用 pass 語句作為佔位符。例如,如下類定義是允許的:

class Empty:
    pass

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

類中各成員之間的定義順序沒有任何影響,各成員之間可以相互呼叫。

Python 類所包含的最重要的兩個成員就是變數和方法,其中類變數屬於類本身,用於定義該類本身所包含的狀態資料:而例項變數則屬於該類的物件,用於定義物件所包含的狀態資料:方法則用於定義該類的物件的行為或功能實現。


類似的是,Python 物件的例項變數也可以動態增加或刪除(只要對新例項變數賦值就是增加例項變數),因此程式可以在任何地方為己有的物件增加例項變數;程式可透過 del 語句刪除已有物件的例項變數。

在類中定義的方法預設是例項方法,定義例項方法的方法與定義函式的方法基本相同,只是例項方法的第一個引數會被繫結到方法的呼叫者(該類的例項),因此例項方法至少應該定義一個引數,該引數通常會被命名為 self。更多學習內容,請點選。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4422/viewspace-2835957/,如需轉載,請註明出處,否則將追究法律責任。

相關文章