什麼是 Python 中的構造函數重載? 有例子

已發表: 2023-01-29

Python 是一種用戶友好的編程語言,初學者可以輕鬆掌握。 這種編程語言提供廣泛的社區支持,可幫助程序員探索實現代碼的多種方式。 Python 中的標準庫和社區論壇貢獻的模塊提供了無限的可能性,包括 Web 和互聯網開發、桌面 GUI、數據庫訪問、教育、科學和數字應用程序、網絡編程、軟件開發和程序開發遊戲。 這種開源語言是在 OSI 批准的許可下開發的。 因此,它可以免費使用和分發。 Python 軟件基金會管理 Python 的許可證。

目錄

Python 中的構造函數:

Python 構造函數的主要功能是實例化對象。 在創建對象時,類數據成員在構造函數的幫助下被賦值或初始化。 _init_ 函數是 Python 中的構造函數。 它通常在創建新對象時調用。

聲明構造函數的語法是

定義_init_(自我):

# 構造函數的主體

Python 中有兩種類型的構造函數。 他們是:

  • 默認構造函數
  • 參數化構造函數

默認構造函數:

它是一個簡單的構造函數,不接受任何輸入參數。 默認構造函數的定義只有一個參數,它引用正在構造的實例。

參數化構造函數:

顧名思義,這些構造函數具有參數。 這種類型的構造函數的第一個參數指的是被構造的實例,它被稱為“self”。 所有其他必需的參數由程序員指定為輸入。

查看 upGrad 的數據科學課程

Python 中的構造函數重載:

構造重載是指將更多數量的構造函數與單獨的參數列表合併在一起的場景,這樣每個構造函數都用於完成程序中的不同任務。 例如,Vector 類中有四種類型的構造函數。

Python 不明確支持多個構造函數。 但是,可以通過多種方式在 Python 中使用多個構造函數。 如果程序員為同一個類編寫多個 _init_ 方法,則最近編寫的 _init_ 函數會覆蓋所有其他構造函數。

為什麼 Python 需要多個構造函數?

當用戶需要執行不同的操作來實例化一個類時,就會彈出多個構造函數的需求。 當類對不同的參數執行不同的操作時,這很有用。 Python 中的類構造函數被構造為以三種不同的方式展示多態性,如下所列:

  1. 基於參數的構造函數重載
  2. 調用 _init_ 方法
  3. @classmethod 裝飾器的使用

探索我們的熱門數據科學課程

IIITB 的數據科學執行研究生課程 商業決策數據科學專業證書課程 亞利桑那大學數據科學碩士
IIITB 的數據科學高級證書課程 馬里蘭大學數據科學和商業分析專業證書課程 數據科學課程

閱讀我們流行的數據科學文章

數據科學職業道路:綜合職業指南 數據科學職業發展:工作的未來就在這裡 為什麼數據科學很重要? 數據科學為企業帶來價值的 8 種方式
數據科學對管理者的相關性 每個數據科學家都應該擁有的終極數據科學備忘單 你應該成為數據科學家的 6 大理由
數據科學家的一天:他們做什麼? 神話破滅:數據科學不需要編碼 商業智能與數據科學:有什麼區別?

基於參數的 Python 中的構造函數重載:

在此方法中,在檢查傳遞參數的條件後,通過執行必要的操作來重載構造函數。 讓我們考慮一個將參數傳遞給 Sample 類的示例。

  • 如果輸入參數是 int,則數字的平方就是答案。
  • 如果參數的長度大於 1,則參數的總和顯示為答案。

使用 _init_ 調用方法:

創建類的實例時,該類可以有一個 _init_ 構造函數來執行任何分配的任務。 可以修改此構造函數以處理不同的功能並根據傳遞的參數執行不同的任務。 讓我們考慮一個執行以下計算的示例。

  • 如果傳遞了兩個參數,則表達式的計算結果為 x = a 2 – b 2
  • 如果傳遞三個參數,則計算的表達式為 y = a 2 + b 2 – c
  • 如果傳遞的參數數量超過三個,則將這些數字的平方相加並將總和除以具有最高值的參數。

如果您想深入了解 Python 中的方法覆蓋,我們建議您參加為期 18 個月的數據科學理學碩士課程 upGrad 從 IIIT Bangalore 和 Liverpool John Moore's University 提供這門課程。 該課程教授您統計、使用 Python 進行預測分析、機器學習、數據可視化、大數據分析等技能。 對 Python 概念有深入了解的學生可以很好地處理深度學習、自然語言處理、業務分析和數據工程等主題。

想要分享這篇文章?

為未來的職業做準備

申請數據科學理學碩士