Python普通方法 靜態方法 類方法

2021-07-16 12:16:35 字數 1123 閱讀 9019

# -*-coding:utf-8-*-

# 普通方法,類方法,靜態方法的區別

__metaclass__ = type

class

tst:

name = 'tst'

data = 'this is data'

# 普通方法

defnormalmethod

(self, name):

print self.data, name

# 類方法,可以訪問類屬性

@classmethod

defclassmethod

(cls, name):

print cls.data, name

# 靜態方法,不可以訪問類屬性

@staticmethod

defstaticmethod

(name):

print name

tst = tst()

tst.data = 'this is new'

tst.normalmethod('name')

tst.staticmethod('name')

tst.classmethod('name')

#結果this is new name

name

this is data name

# error普通方法必須通過例項呼叫

# tst.normalmethod('name')

tst.classmethod('name')

tst.staticmethod('name')

#結果this is data name

name

def

normalmethod

(self,data)

@classmethod

defclassmethod

(cls,data)

@staticmethod

defstaticmethod

(data)

Python普通方法 靜態方法 類方法

普通方法,類方法,靜態方法的區別 metaclass type class tst name tst data this is data 普通方法 def normalmethod self,name print self.data,name 類方法,可以訪問類屬性 classmethod def ...

Python普通方法 靜態方法 類方法

coding utf 8 普通方法,類方法,靜態方法的區別 metaclass type class tst name tst data this is data 普通方法 defnormalmethod self,name print self.data,name 類方法,可以訪問類屬性 clas...

類方法,普通方法和靜態方法

類方法,普通方法和靜態方法 class game object 類屬性 num 0 例項方法 必須得有引數,def init self 例項屬性 self.name laowang 例項方法 必須得有引數 第乙個引數傳遞的是當前的物件 def init a 例項屬性 a.name laowang 類...