1. 實例方法
普通實例方法,第一個參數需要是self,它表示一個具體的實例本身。
2. 靜態方法
靜態方法是類中不需要實例的函數,無self,僅僅是類中的函數。
可以由類實例或類調用。
(1)使用staticmethod()方法聲明靜態方法
class C(object):
def foo():
print("calling static method foo()")
foo=staticmethod(foo)
(2)使用函數裝飾器聲明
class C(object):
@staticmethod
def foo():
print("calling static method foo()")
3. 類方法
類方法將類作為第一個參數傳入,而不是self(實例),第一個參數必須類對象,一般習慣用cls。
可以由類實例或類調用。
(1)使用classmethod()方法聲明類方法
class C(object):
def foo(cls):
print("calling class method foo()")
foo=classmethod(foo)
(2)使用函數裝飾器聲明
class C(object):
@classmethod
def foo(cls):
print("calling class method foo()")
4. 公有方法與私有方法
Python中聲明的方法,默認都是公有的方法,要聲明為私有方法,需要在名稱前面添加"__"。
class C(object):
# 公有方法
def foo(self):
pass
# 私有方法
def __private_foo(self):
pass
私有屬性的聲明也是在名稱前面添加"__"