1、靜態屬性。@property。作用就是把類的函數屬性,封裝成類似數據屬性。
class Student(object): school='szu' @property def printmassage(self): print('aaaa') s1=Student() s1.printmassage #aaaa
2、類方法:是類對象所擁有的方法,需要用修飾器@classmethod來標識其為類方法,對於類方法,第一個參數必須是類對象,一般以cls作為第一個參數,能夠通過實例對象和類對象去訪問。
類方法一般有兩個作用:一是訪問類屬性。二是修改類屬性
class Student(object): school='szu' @classmethod def printmassage(cls): print(cls.school) s1=Student() Student.printmassage() #szu s1.printmassage() #szu
3、靜態方法:靜態方法實際上是獨立的,依靠在類中,但實際是只是調取關系。只是名義上歸類管理,實際上就是一個工具包,可以供類和實例調用。靜態方法里不能直接調用類方法,要調用必須加上類名字去調用。
class Student(object): school='szu' @staticmethod def printmassage(): print(Student.school) @staticmethod def func(x,y): print(x,y) s1=Student() Student.printmassage() #szu s1.printmassage() #szu Student.func(1,2) #1 2 s1.func(1,2) #1,2
