<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          輕松學(xué)會python面向?qū)ο蟮?1篇---靈魂拷問,self是誰

          共 880字,需瀏覽 2分鐘

           ·

          2021-03-25 16:26



          class Dog():
          def __init__(self, _name, _age):
          self.name = _name
          self.age = _age

          def eat_moon(self):
          print(f"{self.name}吃月")

          在類里定義方法時,總是每個方法都有一個self參數(shù),而且如果你的編輯器足夠智能,self是被自動添加的,不需要你動手。

          那么這個self究竟是誰呢?如果你強(qiáng)行刪除掉這個參數(shù),程序就會報錯,代碼里出現(xiàn)紅色的錯誤提示:方法必須有一個參數(shù),通常叫self。

          關(guān)于這個self,我教大家一個簡單的方法來識別它---誰調(diào)用該方法,self就是誰,下面用代碼來舉例子

          dog1 = Dog('二哈', 4)
          dog1.eat_moon() # 二哈吃月

          代碼里,是對象實(shí)例dog1調(diào)用了eat_moon,那么dog1就是eat_moon方法里的self。print輸出的結(jié)果就是二哈吃月。

          dog2 = Dog('老哈', 8)
          dog2.eat_moon() # 老哈吃月

          我又創(chuàng)建了一個dog2對象,dog2對象調(diào)用eat_moon方法,那么在eat_moon執(zhí)行過程中,傳入的self參數(shù)就是dog2,dog2.name的值是老哈。

          在第10篇教程里,我已經(jīng)解釋了,dog1.eat_moon和dog2.eat_moon的內(nèi)存地址是相同的

          print(id(dog1.eat_moon) == id(dog2.eat_moon))  # True

          他們都是類里所定義的eat_moon函數(shù)的綁定,因此兩次調(diào)用,執(zhí)行的都是同一個方法,print語句輸出的結(jié)果不一樣,是因?yàn)槊看握{(diào)用時,傳入的self不同,誰調(diào)用,self就是誰。


          瀏覽 36
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国精产品一区二区三区糖心269 | 少妇的呻吟声 | 久久免费黄色视频 | 91电影一区 | 欧美系列综合 |