日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

python的cls,self,classmethod,staticmethod

 Frank__Library 2016-01-15

python類里會(huì)出現(xiàn)這三個(gè)單詞,self和cls都可以用別的單詞代替,類的方法有三種,

一是通過def定義的 普通的一般的,需要至少傳遞一個(gè)參數(shù),一般用self,這樣的方法必須通過一個(gè)類的實(shí)例去訪問,類似于c++中通過對(duì)象去訪問;

二是在def前面加上@classmethod,這種類方法的一個(gè)特點(diǎn)就是可以通過類名去調(diào)用,但是也必須傳遞一個(gè)參數(shù),一般用cls表示class,表示可以通過類直接調(diào)用;

三是在def前面加上@staticmethod,這種類方法是靜態(tài)的類方法,類似于c++的靜態(tài)函數(shù),他的一個(gè)特點(diǎn)是參數(shù)可以為空,同樣支持類名和對(duì)象兩種調(diào)用方式;

代碼:

  1. class A:  
  2.     member = "this is a test."  
  3.     def __init__(self):  
  4.         pass  
  5.  
  6.     @classmethod  
  7.     def Print1(cls):  
  8.         print "print 1: ", cls.member  
  9.           
  10.     def Print2(self):  
  11.         print "print 2: ", self.member  
  12.             
  13.          
  14.     @classmethod      
  15.     def Print3(paraTest):  
  16.         print "print 3: ", paraTest.member  
  17.     @staticmethod  
  18.     def print4():  
  19.         print "hello"  
  20.       
  21.   
  22. a = A()  
  23. A.Print1()    
  24. a.Print1()  
  25. #A.Print2()  
  26. a.Print2()  
  27. A.Print3()  
  28. a.Print3()   
  29. A.print4()  


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多