python 中的三種方法,有三種類方法,例項方法,靜態方法,這三種方法都在類中,區別在於呼叫的方式不同。
例項物件能的呼叫這三種方法,類只能呼叫類方法和靜態方法。
class
foo(
object):
def__init__
(self, name)
: self.name = name
deford_func
(self)
:''' 定義例項方法 ,至少有個一self引數'''
print
("例項方法"
) @classmethod
defclass_func
(cls)
:'''定義類方法,至少乙個cls引數'''
print
('類方法'
) @staticmethod
defstatic_func()
:'''定義靜態方法,無缺省引數'''
print
('靜態方法'
)f = foo(
"中國"
)# 呼叫例項方法
f.ord_func(
)# 例項物件呼叫類方法
f.class_func(
)# 例項物件呼叫靜態方法
f.static_func(
)# 呼叫靜態方法
foo.static_func
例項方法 靜態方法 類方法
首先新建乙個日期date類,屬性為年,月,日,tomorrow 是例項方法,這個最常見,比較簡單,例項方法的第乙個引數是例項物件self 當我們傳入的年月日是2018 6 4這樣的形式,我們就需要先進行字串處理,在這裡使用了元組的拆包 這是最基本的方式,但是這樣寫會有乙個問題,每次傳參都需要進行字串...
例項方法 類方法 靜態方法
示例方法 第乙個引數為self,必須例項化之後才能呼叫的方法 類方法 使用 classmethod進行裝飾,第乙個引數為cls,可以被類呼叫,也可以被例項呼叫。靜態方法 使用 staticmethod進行裝飾,沒有固定的引數,可以被類呼叫,也可以被例項呼叫,一般可以說跟類和例項沒有關係。classa...
靜態方法 類方法 例項方法
靜態方法 類方法 例項方法 靜態方法 作用 靜態方法可以更好的組織 防止 變大後變得比較混亂。特性 靜態方法只是名義上歸類管理,實際上在靜態方法裡訪問不了類或者例項中的任何屬性 類方法 作用 無需例項化直接被類呼叫 特性 類方法只能訪問類變數,不能訪問例項變數 屬性方法 作用 屬性方法把乙個方法變成...