Python 類構造方法 __init__ 詳解 [OOP][Constructor][構造方法的調用]

您的“關注”和“點贊”,是信任,是認可,是支持,是動力…

如意見相佐,可留言。
本人必將竭盡全力試圖做到準確和全面,終其一生進行修改補充更新。

1 Python 構造方法概述

Python 中的 __init__()方法,是一個特殊的類實例方法,稱爲構造方法、構造函數或構造器,英文爲 Constructor。

僅包含 self 參數的 __init__(self) 構造方法,又稱爲類的默認構造方法。

構造方法最大的用處就是在創建對象時執行初始化,當創建一個對象時,系統會爲這個對象的實例進行默認的初始化。

在 Python 類中,如果不手動爲類添加任何構造方法,Python 會自動爲類添加一個僅包含 self 參數的構造方法。

當然,也可以手動爲類添加構造方法。

手動添加構造方法的語法格式如下所示:

def __init__(self,...):
    代碼塊

對以上格式說明,

  • __init__:是方法名。
  • 形式參數:可以包含多個參數,但是,至少要有一個 self 參數且爲第一個參數。

舉例如下所示:

# 定義類
class Demo:
    # 手動爲類添加構造方法
    def __init__(self):
        print('構造方法被執行了。')

    # 定義類屬性
    name = '碼農阿杰'

    # 定義 info() 方法
    def info(self,):
        print('info() 方法被執行了。')

2 Python 構造方法的調用

每當創建一個類的實例對象時,Python 解釋器都會自動隱式調用構造方法。

舉例如下所示:

例一,

# 定義類
class Demo:
    # 手動爲類添加構造方法
    def __init__(self):
        print('構造方法被執行了。')

    # 定義類屬性
    name = '碼農阿杰'

    # 定義 info() 方法
    def info(self,):
        print('info() 方法被執行了。')


demo = Demo()  # 創建 Demo 類的對象,將會隱式調用構造方法

運行結果:

構造方法被執行了。

例二,

# 定義類
class Demo:
    # 手動爲類添加構造方法
    def __init__(self, age, gender):
        print('構造方法被執行了。', age, gender)

    # 定義類屬性
    name = '碼農阿杰'

    # 定義 info() 方法
    def info(self,):
        print('info() 方法被執行了。')


demo = Demo(18, '男')  # 創建 Demo 類的對象,將會隱式調用構造方法並傳入參數值

運行結果:

構造方法被執行了。 18

從例二中可以看出,構造方法中有三個參數 self、age、gender,其中 self 參數(請參見博文《Python self 參數詳解》)不需要手動傳入參數值,在調用時實際傳參的僅有 age、gender。

【友情鏈接】

微信公衆號:碼農阿杰

博客園

【參考資料】

Python 官網

Python 3.8.2 documentation

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章