Python之路,第十八篇:Python入門與基礎18

來源:互聯網
上載者:User

標籤:需要   ide   靜態方法   branch   color   圖片   ssm   code   對比   

python3  物件導向編程2

 類方法:

         @classmethod

作用:1,類方法是只能訪問類變數的方法;

            2,類方法需要使用@classmethod 裝飾器定義;

            3,類方法的第一個參數是類的執行個體, 約定寫成cls

說明:1, 類執行個體和對象執行個體都可以調用類方法;

           2, 類方法不能方法執行個體變數

 

類方法和執行個體方法對比:

         1,類方法能夠訪問類變數,不能訪問執行個體變數;

              執行個體方法能夠訪問類變數,也能訪問執行個體變數

         2,類方法可以用執行個體來調用,也可以用類來調用;

              執行個體方法在調用時必須傳入執行個體;

 1 class Bank: 2     moneys = 10000000 #一千萬 3     @classmethod 4     def total_money(cls): 5         print("某銀行總行資金數:", cls.moneys) 6  7     def __init__(self, b): 8         self.branch = b 9         self.moneys = 500000010         self.__class__.moneys -= 500000011 12 13 Bank.total_money() #某銀行總行資金數: 1000000014 b1 = Bank("xxx地址支行")15 b1.total_money() #某銀行總行資金數: 5000000
View Code

 

靜態方法

        @staticmethod

作用:1, 靜態方法是普通的函數;

           2,靜態方法定義在類的內部,只能憑藉該類和執行個體調用

           3,靜態方法需要使用@staticmethod 裝飾器定義

           4,靜態方法與普通函數定義相同,不需要傳入self執行個體參數和cls類參數;

說明:1, 類執行個體和對象執行個體都可以調用靜態方法;

           2, 靜態方法不能方法類變數和執行個體變數;

 

         

 

Python之路,第十八篇:Python入門與基礎18

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.