不說廢話,直接上**
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 ...