面向对象编程最重要的概念就是类,python中类的属性申明与C++和Java有很大的区别,很容易让C++和Java程序员迷惑。
python中类的静态变量:
静态变量申明于类定义的下一级代码(即与方法定义同级)。以类名和点号加变量名来引用。
python中的实例变量:
实例变量属于类的实例而不属于类,以实例名和点号加变量名来引用。python中实例的属性可以在实例创建后任意时间进行,也可以在能够访问实例的代码中进行,这与C++和Java相差极大。构造器__init__()是设置这些属性的关键点之一。
python中的实例方法:
类定义中定义的方法(带有self参数)是实例方法,必须绑定到实例对象才能由对象名和点号加方法名调用。
python中的类方法:
python中的类方法的定义比实例方法要麻烦。在python2.3及以前,用staticmethod或classmethod包装实现。如:
def stmed():
pass
smd=staticmethod(stmed)
>>>MyClass.smd()
在python2.4及以后,用@staticmethod或@classmethod装饰器实现