一、靜態方法
乙個不能訪問例項變數和類變數的方法,它與類唯一的關聯就是需要通過類名來呼叫這個方法。
class person(object):
def __init__(self, name):
self.name = name
def eat(self):
print("%s is eating"%self.name)
@staticmethod # 把sleep()方法變為靜態方法
def sleep():
print("is sleeping")
p=person("abc")
p.eat()
p.sleep()
二、類方法
類方法和普通方法的區別是, 類方法只能訪問類變數,不能訪問例項變數
class person(object):
na="qqq"
def __init__(self, name):
self.name = name
def eat(self):
print("%s is eating"%self.name)
@classmethod # 把sleep()方法變為類方法
def sleep(self):
print("%s is sleeping"%self.na)
p=person("abc")
p.eat()
p.sleep()
執行結果:
三、屬性方法
屬性方法的作用就是通過@property把乙個方法變成乙個靜態屬性,想呼叫已經不需要加()號了,直接p.sleep就可以了
class person(object):
na="qqq"
def __init__(self, name):
self.name = name
def eat(self):
print("%s is eating"%self.name)
@property # 把sleep()方法變為類方法
def sleep(self):
print("%s is sleeping"%self.na)
p=person("abc")
p.eat()
p.sleep
Python 類方法 靜態方法
1 我們已經討論了類 物件可以擁有像函式一樣的方法,這些物件方法與函式的區別只是乙個額外的self變數 coding utf 8 usr bin python filename method.py class person grade 1 def init self,name self.name n...
python靜態方法 類方法
常規 1 class dog object 2def init self,name 3 self.name name45 defeat self 6print s is eating self.name 78 d1 dog lele 9 d1.eat 1.靜態方法 名義上由類管理,而實際在呼叫時,需...
Python普通方法 靜態方法 類方法
coding utf 8 普通方法,類方法,靜態方法的區別 metaclass type class tst name tst data this is data 普通方法 defnormalmethod self,name print self.data,name 類方法,可以訪問類屬性 clas...