#-*- coding:utf-8 -*-
class
a:def
__init__
(self,name):
self.name=name
@staticmethod
defstaticfun
(): print("this is static function")
@classmethod
defclassfun
(cls):
print("this is class function")
defentityfun
(self):
print("this is a entity function")
aa=a("aa")
aa.staticfun()
a.staticfun()
a.classfun()
aa.classfun()
aa.entityfun()
#會報錯,只能用例項化物件來呼叫
a.entityfun()
實驗結果:
/usr/bin/python3.5 /home/liusenubuntu/pycharmprojects/sentence/pythonlearn/staticfunction.py
this
is static function
this
is static function
this
isclass
function
this
isclass
function
this
is a entity function
traceback (most recent call last):
file "/home/liusenubuntu/pycharmprojects/sentence/pythonlearn/staticfunction.py", line 19, in
a.entityfun()
typeerror: entityfun() missing 1 required positional argument: 'self'
process finished with exit code 1
其中cls是類變數,self是例項化物件,例項化方法只能用例項化物件呼叫,也可以傳入例項化物件引數。 python 類的靜態方法和類方法
1.靜態方法 使用 staticmethod修飾 不需要傳入引數,類和類的例項物件都可以呼叫 沒有引數的方法,如果未宣告靜態方法的話,例項物件呼叫將會出錯 1class a staticmethod 宣告靜態方法 def printa 無需引數 print a a.printa 類名直接呼叫 a a...
python 靜態方法和類方法
python 靜態方法和類方法 class testclassmethod object method method hoho def init self self.name leon def test1 self print test1 print self classmethod def tes...
Python例項方法 靜態方法和類方法
和類屬性可細分為類屬性和例項屬性一樣,類中的方法也可以有更細緻的劃分,具體可分為類方法 例項方法和靜態方法,本節將詳細介紹這 3 種類方法的特點和用法。通常情況下,在類中定義的方法預設都是例項方法。前面章節中,我們已經定義了不只乙個例項方法。不僅如此,類的構造方法理論上也屬於例項方法,只不過它比較特...