Python類的靜態屬性、類方法、靜態方法


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   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM