6

@staticmethod

classDog(object):

def__init__(self, name):

self.name = name

@staticmethod

defeat(self):

print('eatttt,,,,,%s'%self.name)

d = Dog('f')

# d.eat

Dog.eat(d)

靜態(tài)方法,只是名義上歸類管理,實際上在靜態(tài)方法里訪問不了類或者實例的任何屬性。

@classmethod

classDog(object):

name ='vv'

def__init__(self, name):

self.name = name

# @staticmethod

@classmethod

defeat(self):

print('eatttt,,,,,%s'%self.name)

d = Dog('f')

d.eat()

類方法只能訪問類變量,不能訪問實例變量

@property

classDog(object):

def__init__(self, name):

self.name = name

# @staticmethod

# @classmethod

@property

defeat(self):

print('eatttt,,,,,%s'%self.name)

d = Dog('f')

d.eat

屬性方法,把一個方法變成屬性,不能直接刪除該屬性(如del d.eat,不可以),可以定義一個@eat.deleter,在這個方法里刪除一些這個屬性用到的一些私有屬性

classDog(object):

def__init__(self, name):

self.name = name

self.__food ='defaultfood'

# @staticmethod

# @classmethod

@property

defeat(self):

print('eatttt,,,,,%s,,,%s'%(self.name,self.__food))

@eat.setter

defeat(self,food):

# print('set to food:', food)

self.__food ='baozi'

@eat.deleter

defeat(self):

delself.__food

print('刪除')

d = Dog('f')

d.eat

d.eat ='包子'

d.eat

del d.eat

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容