python-靜態(tài)方法,類方法,屬性方法
靜態(tài)方法實際上與類(或者實例)沒有什么關(guān)系。
使用了靜態(tài)方法,則不能像實例方法那樣再使用self。
裝飾器
@staticmethod#靜態(tài)方法
@classmethod#類方法
@property#屬性方法
靜態(tài)方法可以使用類調(diào)用也可以使用對象調(diào)用:
classDog(object):
def__init__(self,name):
self.name=name
@staticmethod
defeat():
print("iseating")
#類調(diào)用
Dog.eat()
#對象調(diào)用
d=Dog('dog1')
d.eat()
靜態(tài)方法:
只是名義上歸類管理,實際上在靜態(tài)方法里面訪問不了類或者實例的任何屬性。一般不需要傳參數(shù)self。
類方法
只能訪問類變量,不能訪問實例變量。需要有self參數(shù)。
類方法的示例:
classDog(object):
food2="food2"
def__init__(self,name):
self.name=name
@classmethod
defeat(self):
print("iseating%s"%self.food2)
Dog.eat()
d=Dog('dog1')
d.eat()
或者這樣:
classDog(object):
food2="food2"
def__init__(self,name):
self.name=name
@classmethod
defeat(cls):
print("iseating%s"%cls.food2)
Dog.eat()
d=Dog('dog1')
d.eat()
屬性方法:
把一個方法變成一個靜態(tài)屬性。調(diào)用的時候不需要加()。使用屬性方法代替setter和getter方法
classDog(object):
def__init__(self,name):
self.name=name@property
defeat(self):
#print("Iameating")
return'eat'
defabc(self):
print('abc')d=Dog('xg')print(d.eat)
以上內(nèi)容為大家介紹了python培訓(xùn)之靜態(tài)方法怎么使用self,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。