@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)方法岗憋,只是名義上歸類管理授账,實(shí)際上在靜態(tài)方法里訪問不了類或者實(shí)例的任何屬性。
@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()
類方法只能訪問類變量夺颤,不能訪問實(shí)例變量
@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
屬性方法擅憔,把一個(gè)方法變成屬性,不能直接刪除該屬性(如del d.eat武氓,不可以),可以定義一個(gè)@eat.deleter,在這個(gè)方法里刪除一些這個(gè)屬性用到的一些私有屬性
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