<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                Python3建議使用新式類繼承object(廣度優先搜索屬性) ## 1. 類屬性 類和對象創建后的屬性存在于__dict__魔法屬性當中。當使用屬性時,回去這個__dict__(詞典)當中去尋找 ![](https://box.kancloud.cn/02dbf2a2f3b34fae10ccf17f0d911316_704x326.png) 如果是后加入的屬性,解釋器會調用__getattr__方法去尋找屬性 ### 1.1 定義類屬性 定義在方法外的屬性,是類屬性。類的實例和類對象都可以訪問 ~~~ lass People(object): name = 'Tom' #公有的類屬性 __age = 12 #私有的類屬性 def __init__(self): self.word = "hello" # 實例屬性 p = People() print(p.name) #正確 print(People.name) #正確 print(p.word) # print(People.word) # 錯誤類對象不可以訪問對象屬性 # print(p.__age) #錯誤,不能在類外通過實例對象訪問私有的類屬性 # print(People.__age) ~~~ ## 2. 類方法 是類對象所擁有的方法,需要用修飾器@classmethod來標識其為類方法,對于類方法,第一個參數必須是類對象,一般以cls作為第一個參數(當然可以用其他名稱的變量作為其第一個參數,但是大部分人都習慣以'cls'作為第一個參數的名字,就最好用'cls'了),能夠通過實例對象和類對象去訪問。 ~~~ class People(object): country = 'china' #類方法,用classmethod來進行修飾 @classmethod def getCountry(cls): return cls.country p = People() print p.getCountry() #可以用過實例對象引用 print People.getCountry() #可以通過類對象引用 ~~~ ## 3. 靜態方法 需要通過修飾器@staticmethod來進行修飾,靜態方法不需要多定義參數 class People(object): country = 'china' @staticmethod #靜態方法 def getCountry(): return People.country print People.getCountry() ## 4. 類方法、對象方法和靜態方法區別 > 1. 從類方法和實例方法以及靜態方法的定義形式就可以看出來,類方法的第一個參數是類對象cls,那么通過cls引用的必定是類對象的屬性和方法 > 2. 而實例方法的第一個參數是實例對象self,那么通過self引用的可能是類屬性、也有可能是實例屬性(這個需要具體分析),不過在存在相同名稱的類屬性和實例屬性的情況下,實例屬性優先級更高。 > 3. 靜態方法中不需要額外定義參數,因此在靜態方法中引用類屬性的話,必須通過類對象來引用 > 4. 靜態方法是類中的函數,不需要實例。靜態方法主要是用來存放邏輯性的代碼,主要是一些邏輯屬于類,但是和類本身沒有交互,即在靜態方法中,不會涉及到類中的方法和屬性的操作。可以理解為將靜態方法存在此類的名稱空間中。
                  <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>

                              哎呀哎呀视频在线观看