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

私有属性的声明也是在名称前面添加"__"