第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Python 中使用基類構(gòu)造函數(shù)聲明子類的優(yōu)點(diǎn)

在 Python 中使用基類構(gòu)造函數(shù)聲明子類的優(yōu)點(diǎn)

ABOUTYOU 2021-12-17 15:48:27
使用帶參數(shù)的基類構(gòu)造函數(shù)方法聲明和初始化子類有什么好處:class BaseClass(object):  def __init__(self, a, b):    self.a = a    self.b = bclass SubClass(BaseClass):  def __init__(self, a, b, c, d):    BaseClass.__init__(self, a, b)    # or super().    self.c = c    self.d = dnewSubClassInstance = SubClass("one", "two", "three", "four")完全不使用參數(shù),只是初始化如下:class BaseClass(object):  def __init__(self):    self.a = " "    self.b = " "class SubClass(BaseClass):  def __init__(self):    self.c = " "    self.d = " "newSubClassInstance = SubClass()newSubClassInstance.a = "one"newSubClassInstance.b = "two"newSubClassInstance.c = "three"newSubClassInstance.d = "four"還是僅僅取決于人們打算如何在程序中編寫和使用此代碼?不過,我主要問的是期望;例如,如果被要求在 Python 中創(chuàng)建這個特定任務(wù),一個人會比另一個人更好嗎?
查看完整描述

1 回答

?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個贊

您絕對應(yīng)該在__init__方法中實(shí)例化和設(shè)置您的類。當(dāng)類被(創(chuàng)建和)初始化時,如果可能,它應(yīng)該準(zhǔn)備好使用。這是人們對課堂的期望。

對于某些情況,例如,當(dāng)嘗試模仿不可變對象時,__init__()調(diào)用后永遠(yuǎn)不應(yīng)更新值。初始化后更新也有懲罰,因?yàn)楦驴赡苄枰|發(fā)其他更改??紤]一個 GUI,其中一個輸入是正在繪制的窗口的大小。如果在 Window 首次出現(xiàn)后設(shè)置,則必須重新繪制。

此外,您的第二種方法在另一方面也很糟糕;你甚至沒有self.aself.b之后的__init__()電話,因?yàn)槟銖牟淮螂娫?code>BaseClass.__init__()。在繼承和覆蓋__init__().

您還應(yīng)該考慮將顯式調(diào)用替換BaseClass為調(diào)用super()(正如您在評論中所寫的那樣),因?yàn)檫@樣可以更好地處理多重繼承。


查看完整回答
反對 回復(fù) 2021-12-17
  • 1 回答
  • 0 關(guān)注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號