1. 程式人生 > 其它 >python-面向物件- 例項方法,類方法,靜態方法, 類屬性

python-面向物件- 例項方法,類方法,靜態方法, 類屬性

名稱 定義方法 許可權 呼叫方法
例項方法 第一個引數必須是示例,一般命名為self 可以訪問例項的屬性和方法,也可以訪問類的例項和方法 一般通過示例呼叫,類也可以呼叫
類方法 使用裝飾器@classmethod修飾,第一個引數必須是當前的類物件,一般命名為cls 可以訪問類的例項和方法 類例項和類都可以呼叫
靜態方法 使用裝飾器@staticmethod修飾,引數隨意,沒有self和cls 不可以訪問類和例項的屬性和方法 例項物件和類物件都可以呼叫

1.例項

#coding=utf-8
class stu:
    school ="湘湖高中";
    def __init__
(self,name,age): self.name=name; self.age=age; def play(self): print "{name}在play".format(name=self.name); @classmethod def getschool(cls): print "school是{school}".format(school=cls.school); @staticmethod def getstatic(): print "this is staticmethod
"; s=stu("jack",28); #通過例項呼叫例項方法 s.play(); #通過類呼叫例項方法 stu.play(s); #通過例項呼叫類方法 s.getschool(); #通過類呼叫類方法 stu.getschool(); #通過例項呼叫靜態方法 s.getstatic(); #通過類呼叫靜態方法 stu.getstatic();

執行結果:

jack在play
jack在play
school是湘湖高中
school是湘湖高中
this is staticmethod