<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## super()的使用 #### 問題: ~~~ class Master(object): def __init__(self): self.kongfu = "古法烤冷面配方" # 實例變量,屬性 def make_cake(self): # 實例方法,方法 print("[古法] 按照 <%s> 制作了一份烤冷面..." % self.kongfu) # 父類是 Master類 class School(Master): def __init__(self): self.kongfu = "現代烤冷面配方" def make_cake(self): print("[現代] 按照 <%s> 制作了一份烤冷面..." % self.kongfu) super().__init__() # 執行父類的構造方法 super().make_cake() # 執行父類的實例方法 # 父類是 School 和 Master class Prentice(School, Master): # 多繼承,繼承了多個父類 def __init__(self): self.kongfu = "夏氏烤冷面配方" def make_cake(self): self.__init__() # 執行本類的__init__方法,做屬性初始化 self.kongfu = "夏氏...." print("[夏氏] 按照 <%s> 制作了一份烤冷面..." % self.kongfu) def make_all_cake(self): # 方式1. 指定執行父類的方法(代碼臃腫) # School.__init__(self) # School.make_cake(self) # # Master.__init__(self) # Master.make_cake(self) # # self.__init__() # self.make_cake() # 方法2. super() 帶參數版本,只支持新式類 # super(Prentice, self).__init__() # 執行父類的 __init__方法 # super(Prentice, self).make_cake() # self.make_cake() # 方法3. super()的簡化版,只支持新式類 super().__init__() # 執行父類的 __init__方法 super().make_cake() # 執行父類的 實例方法 self.make_cake() # 執行本類的實例方法 laoxia = Prentice() laoxia.make_cake() laoxia.make_all_cake() # print(Prentice.__mro__) ~~~ #### 知識點: > 子類繼承了多個父類,如果父類類名修改了,那么子類也要涉及多次修改。而且需要重復寫多次調用,顯得代碼臃腫。 > > 使用super() 可以逐一調用所有的父類方法,并且只執行一次。調用順序遵循**mro**類屬性的順序。 > > **注意:如果繼承了多個父類,且父類都有同名方法,則默認只執行第一個父類的(同名方法只執行一次,目前super()不支持執行多個父類的同名方法)** > > super() 在Python2.3之后才有的機制,用于通常單繼承的多層繼承。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看