這篇文章將為大家詳細講解有關python如何在一個類中定義多個構造函數,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯服務項目包括儀隴網站建設、儀隴網站制作、儀隴網頁制作以及儀隴網絡營銷策劃等。多年來,我們專注于互聯網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯網行業(yè)的解決方案,儀隴網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到儀隴省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
在一個類中定義多個構造函數
函數重載是編程語言(不含 Python)中非常常見的功能。即使你不能重載正常的函數,你仍然可以使用類方法重載構造函數:
import datetime class Date: def __init__(self, year, month, day): self.year = year self.month = month self.day = day @classmethod def today(cls): t = datetime.datetime.now() return cls(t.year, t.month, t.day) d = Date.today() print(f"{d.day}/{d.month}/{d.year}") # 14/9/2019
你可能傾向于將替代構造函數的所有邏輯放入__init__,并使用*args 、**kwargs 和一堆 if 語句,而不是使用類方法來解決。那可能行得通,但是卻變得難以閱讀和維護。
因此,我建議將很少的邏輯放入__init__,并在單獨的方法/構造函數中執(zhí)行所有操作。這樣,對于類的維護者和用戶而言,得到的都是干凈的代碼。
關于“python如何在一個類中定義多個構造函數”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。