python中例項方法 類方法 靜態方法的區別

2021-09-30 14:29:42 字數 950 閱讀 6471

不說廢話,直接上**

class

test

(object):

a = 'a'

definstance_fun

(self):

print(self.a)

print(self)

print(self.class_fun)

@classmethod

defclass_fun

(cls):

print(cls.a)

print(cls)

print(cls.class_fun)

@staticmethod

defstatic_fun

():pass

# print(a)

t = test()

t.instance_fun()

print("------------------------")

# test.instance_fun()

print("********************====")

t.class_fun()

print("------------------------")

test.class_fun()

print("********************====")

t.static_fun()

print("------------------------")

test.static_fun()

**中注釋的部分表示執行報錯,而注釋的地方只有兩個,乙個是類呼叫例項方法,乙個是靜態方法訪問類變數。所以很快我們就能知道:

但是類其實也是可以呼叫例項方法的,可以這樣呼叫test.instance_fun(o)o可以是任意物件。所以三者真正的區別在於引數的不同

python中的例項方法 類方法 靜態方法

class test object a 1 def init self,a self.a a definstance print self print self.a classmethod defclass fun cls print cls.a staticmethod defstatic fun...

python中例項方法 靜態方法以及類方法的區別

搞清楚python中例項方法 靜態方法和類方法的區別,先上一段 class person object num 0 類變數 def init self,name self.name name def get name self 例項方法 return self.name staticmethod d...

Python 類方法,例項方法,類變數,例項變數

建立乙個person類 class person object per v per v 建立乙個類變數 def init self,name,age 初始化類例項變數 self.name name self.age age definstance method self 建立類例項方法 print ...