Python 成員方法,類方法以及靜態方法

來源:互聯網
上載者:User
#!/usr/bin/python#-*- coding: utf-8 -*-class A:     def f_method(self, x):          print "%s,%s" %(self , x )    @staticmethod     def f_smethod(x):         print "%s" %(x)     @classmethod     def f_cmethod(cls, x):         print '%s, %s' %(cls , x)a = A()A.f_smethod(1)a.f_smethod(1)A.f_cmethod(1)a.f_cmethod(1)a.f_method(1)

返回結果:

11__main__.A, 1__main__.A, 1<__main__.A instance at 0x7f05613b4c68>,1

成員方法:需要使用執行個體對象來調用, self 對象為執行個體對象,調用時,隱式的傳遞a給self對象

類方法:不僅可以使用執行個體對象來調用,也可以使用類對象來調用,cls參數為類對象。

靜態方法:不僅可以使用執行個體對象調用,也可以使用類對象調用,與成員方法和類方法不同的是,它需要執行個體對象或者
類對象作為隱士參數傳遞進去。靜態方法與普通的非類方法差不多,可以作為以類的形式封裝的一些公用方法。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.