新聞中心
python - 靜態(tài)方法,類方法,屬性方法

目前成都創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、阜平網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
靜態(tài)方法實(shí)際上與類(或者實(shí)例)沒有什么關(guān)系。
使用了靜態(tài)方法,則不能像實(shí)例方法那樣再使用SELF。
裝飾器
@staticmethod # 靜態(tài)方法 @classmethod # 類方法 @property # 屬性方法
靜態(tài)方法可以使用類調(diào)用也可以使用對(duì)象調(diào)用:
class Dog(object):
def __init__(self, name):
self.name = name
@staticmethod
def eat():
print(" is eating ")
# 類調(diào)用
Dog.eat()
# 對(duì)象調(diào)用
d = Dog('dog1')
d.eat()靜態(tài)方法:
只是名義上歸類管理,實(shí)際上在靜態(tài)方法里面訪問不了類或者實(shí)例的任何屬性。 一般不需要傳參數(shù)self。
類方法
只能訪問類變量,不能訪問實(shí)例變量。需要有self參數(shù)。
類方法的示例:
class Dog(object):
food2 = "food2"
def __init__(self, name):
self.name = name
@classmethod
def eat(self):
print(" is eating %s " %self.food2)
Dog.eat()
d = Dog('dog1')
d.eat()
或者這樣:
class Dog(object):
food2 = "food2"
def __init__(self, name):
self.name = name
@classmethod
def eat(cls):
print(" is eating %s " %cls.food2)
Dog.eat()
d = Dog('dog1')
d.eat()屬性方法:
把一個(gè)方法變成一個(gè)靜態(tài)屬性。調(diào)用的時(shí)候不需要加()。使用屬性方法代替setter和getter方法
class Dog(object):
def __init__(self, name):
self.name = name @property
def eat(self):
# print("I am eating")
return 'eat'
def abc(self):
print('abc')d = Dog('xg')print (d.eat)更多學(xué)習(xí)內(nèi)容,請(qǐng)點(diǎn)擊python學(xué)習(xí)網(wǎng)。
分享題目:創(chuàng)新互聯(lián)Python教程:python靜態(tài)方法怎么使用self
本文鏈接:http://www.5511xx.com/article/dhiedgo.html


咨詢
建站咨詢
