新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python靜態(tài)方法怎么使用self
python - 靜態(tài)方法,類方法,屬性方法

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


咨詢
建站咨詢
