Python——静态方法、类方法、公有方法、私有方法
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
私有属性的声明也是在名称前面添加”__”